如果QStyledItemDelegate失去了焦点,请重置其编辑器

时间:2019-07-13 16:01:57

标签: qlineedit qstyleditemdelegate

如果编辑者失去焦点,我想放弃编辑QTableWidgetItem,例如。 G。用户单击某处。默认行为是将当前输入的文本写入模型,就像用户按Enter一样。

我将QStyledItemDelegate使用QTableWidget。我添加了自己的createEditor实现,并添加了自定义QLineEdit派生类,该类在应创建编辑器时使用。

然后我尝试了不同的方法。我首先重新实现了focusOut事件,并将文本重置为原始文本。问题是focusOut在委托中被称为之后 setModelData。然后,我尝试通过重新实现过滤整个event函数,并抓住失去焦点的时刻。但是即使捕获到aboutToChangeFocus事件类型,setModelData仍会被调用。

那么我有机会在被称为setModelData之前被做吗?

0 个答案:

没有答案