我正在使用QTableWidget。在cellChanged() - 信号上,我在sqlite数据库中添加或更新一行。执行我的SQL语句后,我想在此行的项目中添加一个按钮/ CellWidget。由于这是单元格的更改,当然,它会更改项目的内容并创建循环。
我如何避免这种循环?
答案 0 :(得分:1)
您可以使用其他方法。使用控制是否应在sql数据库中添加/更新行的互斥变量(例如布尔值),可以忽略执行SQL语句后发出的信号。然后可以在将按钮添加到行后释放互斥变量。
这种方法可能比自动更新操作断开/连接信号/插槽便宜。如果经常触发信号,这可能是解决方案。
答案 1 :(得分:1)
您可以通过在另一个容器中或在同一单元格中的用户定义角色下保留数据副本来检查单元格内容是否确实已更改。