好吧,我有这个应用程序,上面有很多 o lineEdit 小部件(实际上超过 20 个)。最后,我有另一个 lineEdit 应该显示其他小部件上的值的总和。但是,我想在每次更改某个值时使用“textEdited()”信号更新该总和。我知道我可以将所有这些小部件的信号连接到求和的函数,但我想必须有另一种方法来完成这项工作,这样就不需要这么多的重复代码。我对吗?有谁知道如何做到这一点?
谢谢指教。
您自己已经给出了答案:您必须将 sum 函数连接到 eachQLineEdit
的textEdited()
信号。当您将所有这些小部件存储在 Python 列表中时,您只需很少的代码即可完成此操作:
# ...append all line edits to this list:
line_edits = []
for le in line_edits:
le.textChanged.connect(self.mySumFunction)
这还有一个好处是,如果您需要同时编辑/启用/禁用/清除/...所有行编辑,您可以重复使用该列表。