Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
Qt 编辑单元格/项目时如何发出信号?_Qt_Qtableview_Qtablewidget - Fatal编程技术网

Qt 编辑单元格/项目时如何发出信号?

Qt 编辑单元格/项目时如何发出信号?,qt,qtableview,qtablewidget,Qt,Qtableview,Qtablewidget,我有一个方法可以将一个表从DB导入一个QTableWidget,我想通过QTableWidget编辑DB中的一个单元格(当通过双击编辑单元格时)。我曾尝试使用QTableWidget::cellChanged()信号,但问题是,从DB导入时,表中的每个单元格都会发出该信号。只有在编辑文本后“手动”更改单元格时,我如何才能发出信号?如@Kamil所说,加载时断开信号,然后重新连接: 在Python中,它看起来像: self.disconnect(self.tableWidget, QtCore.S

我有一个方法可以将一个表从DB导入一个QTableWidget,我想通过QTableWidget编辑DB中的一个单元格(当通过双击编辑单元格时)。我曾尝试使用QTableWidget::cellChanged()信号,但问题是,从DB导入时,表中的每个单元格都会发出该信号。只有在编辑文本后“手动”更改单元格时,我如何才能发出信号?

如@Kamil所说,加载时断开信号,然后重新连接: 在Python中,它看起来像:

self.disconnect(self.tableWidget, QtCore.SIGNAL("cellChanged(int, int)"), self.DoSomething)
....import data....
self.connect(self.tableWidget, QtCore.SIGNAL("cellChanged(int, int)"), self.DoSomething)
不确定,但我想这就是C++的情况:

this->disconnect(this->tableWidget,QtCore::SIGNAL(cellChanged(int, int)),this->DoSomething)

我希望这也有帮助

为什么不使用QTableView和QSqlTableModel?加载时断开信号,加载后重新连接?