我正在尝试根据PyQt5组合框的激活值为按钮的点击信号分配不同的功能。
下面是我尝试这样做的方法:
self.filterComboBox.activated[int].connect(self.filterComboChange)
def filterComboChange(self,option):
if(option==1):
self.filterAddButton.clicked.connect(self.onClickFilterAddButtonAge)
elif(option==2):
self.filterAddButton.clicked.connect(self.onClickFilterAddButtonFormat)
def onClickFilterAddButtonAge(self):
#some lines of code
def onClickFilterAddButtonFormat(self):
#some lines of code
我选择组合框中的第一个选项,按下按钮,函数1运行正常之后,当我按下选择了另一个选项的按钮时,在第二个函数运行之前,第一个函数运行。
有没有人能告诉我原因,或者告诉我我哪里做错了?
发布于 2021-06-23 12:17:29
如果信号已经连接,则需要先将其断开,然后再重新连接。
def filterComboChange(self,option):
try:
self.filterAddButton.disconnect()
except:
pass
if(option==1):
self.filterAddButton.clicked.connect(self.onClickFilterAddButtonAge)
elif(option==2):
self.filterAddButton.clicked.connect(self.onClickFilterAddButtonFormat)
https://stackoverflow.com/questions/68099577
复制