2

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

我如何避免这个循环?

4

2 回答 2

1

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

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

于 2011-09-21T09:48:52.923 回答
1

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

于 2011-09-21T09:53:21.307 回答