Python 将来自多个小部件的相同信号连接到PyQt中的相同函数?
嗯,我有一个应用程序,它有很多在线编辑小部件(实际上超过20个)。最后,我有另一个lineEdit,它应该显示其他小部件上的值的总和。但是,我想让它在每次更改某个值时使用“textEdited()”信号更新总和。我知道我可以将所有这些小部件的信号连接到求和的函数,但我想必须有另一种方法来完成这项工作,这样就不需要重复这么多代码。我说得对吗? 有人知道怎么做吗Python 将来自多个小部件的相同信号连接到PyQt中的相同函数?,python,pyqt,Python,Pyqt,嗯,我有一个应用程序,它有很多在线编辑小部件(实际上超过20个)。最后,我有另一个lineEdit,它应该显示其他小部件上的值的总和。但是,我想让它在每次更改某个值时使用“textEdited()”信号更新总和。我知道我可以将所有这些小部件的信号连接到求和的函数,但我想必须有另一种方法来完成这项工作,这样就不需要重复这么多代码。我说得对吗? 有人知道怎么做吗 谢谢您的建议。您已经自己给出了答案:您必须将求和函数连接到每个QLineEdit的textEdited()信号。当您将所有这些小部件存储在
谢谢您的建议。您已经自己给出了答案:您必须将求和函数连接到每个
QLineEdit
的textEdited()
信号。当您将所有这些小部件存储在Python列表中时,只需很少的代码即可做到这一点:
# ...append all line edits to this list:
line_edits = []
for le in line_edits:
le.textChanged.connect(self.mySumFunction)
这还有一个优点,即如果您需要编辑/启用/禁用/清除/,可以重新使用列表。。。同时编辑所有行。我没有意识到列表技巧。这比逐个编写所有连接要容易得多。谢谢你的帮助。