1

好吧,我有这个应用程序,上面有很多 o lineEdit 小部件(实际上超过 20 个)。最后,我有另一个 lineEdit 应该显示其他小部件上的值的总和。但是,我想在每次更改某个值时使用“textEdited()”信号更新该总和。我知道我可以将所有这些小部件的信号连接到求和的函数,但我想必须有另一种方法来完成这项工作,这样就不需要这么多的重复代码。我对吗?有谁知道如何做到这一点?

谢谢指教。

4

1 回答 1

3

您自己已经给出了答案:您必须将 sum 函数连接到 eachQLineEdittextEdited()信号。当您将所有这些小部件存储在 Python 列表中时,您只需很少的代码即可完成此操作:

# ...append all line edits to this list:
line_edits = []

for le in line_edits:
  le.textChanged.connect(self.mySumFunction)

这还有一个好处是,如果您需要同时编辑/启用/禁用/清除/...所有行编辑,您可以重复使用该列表。

于 2012-05-14T16:22:26.930 回答