一、自定义MyComboBox
# MyComboBox.py from PyQt5.QtWidgets import QComboBox from PyQt5.QtCore import pyqtSignal class MyComboBox(QComboBox): clicked = pyqtSignal() #创建一个信号 def showPopup(self): #重写showPopup函数 self.clicked.emit() #发送信号 super(MyComboBox, self).showPopup() # 调用父类的showPopup()
二、使用MyComboBox创建窗口空间
# test_ui.py self.PrintersList = MyComboBox(self.groupBox) # 修改后 # self.PrintersList = QtWidgets.QComboBox(self.groupBox) # 修改前
三、main函数中对clicked 信号进行绑定
# main_loop.py self.PrintersList.clicked.connect(self.scan_printer_list_slot) # 信号与槽函数的绑定 # 槽函数的实现 def scan_printer_list_slot(self): print("扫描打印机并刷新列表")