QT,QTableWidget:使用cellChanged()-信号更改项目

QT,QTableWidget:使用cellChanged()-信号更改项目,qt,qtablewidget,Qt,Qtablewidget,我正在使用QTableWidget。在cellChanged()-信号上,我在sqlite数据库中添加或更新一行。执行SQL语句后,我想向此行中的项目添加一个button/CellWidget。由于这是对单元格的更改,它当然会更改项的内容并创建一个循环 如何避免这种循环?您可以使用其他方法。使用一个互斥变量(例如布尔值)控制是否应该在sql数据库中添加/更新行,可以忽略执行sql语句后发出的信号。将按钮添加到行后,可以释放互斥变量 这种方法可能比断开/连接自动更新操作周围的信号/插槽便宜。如果信

我正在使用QTableWidget。在cellChanged()-信号上,我在sqlite数据库中添加或更新一行。执行SQL语句后,我想向此行中的项目添加一个button/CellWidget。由于这是对单元格的更改,它当然会更改项的内容并创建一个循环


如何避免这种循环?

您可以使用其他方法。使用一个互斥变量(例如布尔值)控制是否应该在sql数据库中添加/更新行,可以忽略执行sql语句后发出的信号。将按钮添加到行后,可以释放互斥变量


这种方法可能比断开/连接自动更新操作周围的信号/插槽便宜。如果信号经常被触发,这可能就是解决方案。

您可以通过在另一个容器中或在同一单元格中的用户定义角色下保存数据副本来检查单元格内容是否确实发生了更改。

此时,我断开函数顶部的信号,然后再次连接它。没有更好的解决办法了吗?