实现pyqt5的ComboBox的鼠标点击触发事件

一、自定义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("扫描打印机并刷新列表")

你可能感兴趣的:(实现pyqt5的ComboBox的鼠标点击触发事件)