当用户手动更改QtTableWidget
中的单元格值时,是否可以检测到这种情况?我使用了table.itemChanged.connect(func)
,但我认为itemChanged
会检测到所有更改,因此我无法在功能func
中重新填充表格。
当用户更改QtTableWidget
项值时,程序运行重新填充整个表的方法(func)。问题是table.itemchanged
会检测到所有更改,因此会返回错误:RuntimeError: maximum recursion depth exceeded while calling a Python object
,因为func会生成许多itemChanged
个信号。
答案 0 :(得分:1)
您可以阻止功能中的信号。
func(...)
{
...
table.blockSignals(true);
// do your change here
table.blockSignals(false);
...
}
或使用较新的QSignalBlocker。