Pyqt如何将func连接到ALL Qpushbutton
问题描述:
我有一个func想连接所有Qpushbutton,但我不知道如何设置它。Pyqt如何将func连接到ALL Qpushbutton
现在我只使用dict列出所有attr,并过滤Qpushbutton,但我不知道如何设置,连接。
这是我的代码:
def test_fn(self):
item_dict = self.__dict__
for key in item_dict:
attr = item_dict[key]
if type(attr) is QPushButton:
print key
###that is i don't know how to set
# setattr(self,key,pyqtBoundSignal.connect(self.showx))
答
我想你应该能够使用直接连接:
def test_fn(self):
item_dict = self.__dict__
for key in item_dict:
attr = item_dict[key]
if isinstance(attr, QPushButton): # isinstance will also detect subclasses, but you might not need it
print key
attr.clicked.connect(self.showx)
好! 我尝试连接一个点击事件。 所以我使用attr.clicked.connect(self.showx) 它的工作! –
是的,抱歉,我的错误。我会更新答案 – FernAndr