我目前正在使用PyQt5构建一个接口,我想知道是否有一种优雅的方法将多个信号连接到同一个函数?
直截了当的解决方案是:
Text
但是有更好,更可读的选项吗?例如,看起来像:
self.ui.button1.clicked.connect(self.Function)
self.ui.button2.clicked.connect(self.Function)
self.ui.button3.clicked.connect(self.Function)
self.ui.button4.clicked.connect(self.Function)
此外,我开始阅读有关self.Function.connect(self.ui.button1.clicked,
self.ui.button2.clicked,
self.ui.button3.clicked,
self.ui.button4.clicked)
的内容,但如果可以避免这样做,那就太好了。
提前谢谢!
答案 0 :(得分:1)
你可以创建一个以元组或按钮列表为参数的函数,然后连接每个按钮的点击信号。
self.connect_buttons((self.ui.button1, self.ui.button2, self.ui.button3, self.ui.button4))
def connect_buttons(self, button_tup):
for button in button_tup:
button.clicked.connect(self.Function)