Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在自定义委托中更改了文本上的PyQt触发器setModelData_Qt_Pyqt - Fatal编程技术网

在自定义委托中更改了文本上的PyQt触发器setModelData

在自定义委托中更改了文本上的PyQt触发器setModelData,qt,pyqt,Qt,Pyqt,我有一个自定义模型和一个使用qLineEdit的自定义委托。编辑完成后,我可以更新模型。唯一的问题是我想触发 def setModelData(self, editor, model, index): model.setData(index, editor.text()) 当lineEdit的文本更改被触发时,任何用户输入的数据都将立即更新 我可以截获textChanged信号,但如何获得model参数,以便将其传递给setModelData?我可以从发件人访问编辑器,

我有一个自定义模型和一个使用qLineEdit的自定义委托。编辑完成后,我可以更新模型。唯一的问题是我想触发

    def setModelData(self, editor, model, index):
        model.setData(index, editor.text())
当lineEdit的文本更改被触发时,任何用户输入的数据都将立即更新

我可以截获textChanged信号,但如何获得
model
参数,以便将其传递给
setModelData
?我可以从发件人访问
编辑器
,并且
索引
可以与编辑器一起存储

或者,我是否可以触发一个信号,告诉视图从编辑器更新模型,即使编辑器仍然打开


干杯。

您不能使用
qabstractemview.commitData()
?或者,如果您有权访问delagate,
QAbstractItemDelegate::commitData()
?如果我没有弄错的话,
commitData
方法会在不关闭编辑器的情况下从编辑器中更新模型。谢谢!这使我走上了正确的道路!您不能使用
qabstractemview.commitData()
?或者,如果您有权访问delagate,
QAbstractItemDelegate::commitData()
?如果我没有弄错的话,
commitData
方法会在不关闭编辑器的情况下从编辑器中更新模型。谢谢!这使我走上了正确的道路!