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世界!