Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将来自多个小部件的相同信号连接到PyQt中的相同函数?_Python_Pyqt - Fatal编程技术网

Python 将来自多个小部件的相同信号连接到PyQt中的相同函数?

Python 将来自多个小部件的相同信号连接到PyQt中的相同函数?,python,pyqt,Python,Pyqt,嗯,我有一个应用程序,它有很多在线编辑小部件(实际上超过20个)。最后,我有另一个lineEdit,它应该显示其他小部件上的值的总和。但是,我想让它在每次更改某个值时使用“textEdited()”信号更新总和。我知道我可以将所有这些小部件的信号连接到求和的函数,但我想必须有另一种方法来完成这项工作,这样就不需要重复这么多代码。我说得对吗? 有人知道怎么做吗 谢谢您的建议。您已经自己给出了答案:您必须将求和函数连接到每个QLineEdit的textEdited()信号。当您将所有这些小部件存储在

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


谢谢您的建议。

您已经自己给出了答案:您必须将求和函数连接到每个
QLineEdit
textEdited()
信号。当您将所有这些小部件存储在Python列表中时,只需很少的代码即可做到这一点:

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

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

这还有一个优点,即如果您需要编辑/启用/禁用/清除/,可以重新使用列表。。。同时编辑所有行。

我没有意识到列表技巧。这比逐个编写所有连接要容易得多。谢谢你的帮助。