PYQT5以数字方式将按钮分配给功能



我正试图根据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运行良好之后,当我在选择其他选项的情况下按下按钮时,在运行第二个功能之前,第一个功能将运行。

有人能告诉我这件事的原因吗?或者告诉我我做错了什么?

如果信号已经连接,则需要先断开连接,然后再连接。

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)

最新更新