QTable委托空值无法提交

QTable委托空值无法提交

简述

在QTable委托的时候,发现提交空值无法提交

空值无法提交效果图

在这里插入图片描述

解决空值无法提交问题后效果图

在这里插入图片描述

解决办法

在这里插入图片描述

在看帮助文档的时候,发现了此信号~言外之意就是,我在编辑的时候,发现是空值,手动触发一下这个信号,主动来完成控件提交过程。

代码

QWidget *LineEditDelegate::createEditor(QWidget *parent,
	const QStyleOptionViewItem &/* option */,
	const QModelIndex &/* index */) const
{
	QLineEdit *editor = new QLineEdit(parent);
	//创建控件的时候绑定一个文本编辑信号
	connect(editor, &QLineEdit::textChanged, this, &LineEditDelegate::oneditTextChanged);
	return editor;
}
void LineEditDelegate::oneditTextChanged(const QString& text)
{
	QLineEdit* editor = dynamic_cast<QLineEdit*>(sender());
	//这里我只想文本为空的时候,才手动触发控件提交信号,以此来达到我目的
	if (text.isEmpty()){
		emit this->commitData(editor);
	}
}

工程文件

Qt交流大会 853086607 免费群中
在这里插入图片描述

结尾

不定期上传新作品,解答群中作品相关问题。相关外,能解答则解答。欢迎大家一起探索Qt世界!

发布了102 篇原创文章 · 获赞 165 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/ly305750665/article/details/83902494