PyQt笔记——自定义信号Signal

2019-10-28  本文已影响0人  Hemmelfort

Qt 中的标签(QLabel)是多么常用的控件,但却不会响应鼠标点击,你敢信?

💨 自定义信号

快速创建一个可以发射被鼠标点击的信号的新型标签:

class ClickableLabel(QtWidgets.QLabel):

    clicked = QtCore.pyqtSignal()  # 创建信号
    
    def __init__(self, text):
        super().__init__(text)
        
    def mouseReleaseEvent(self, e):
        if e.button() == Qt.LeftButton:
            self.clicked.emit()  # 发射信号

简单地说:

  1. 创建信号:clicked = QtCore.pyqtSignal()
  2. 发射信号:clicked.emit()

🍡 信号如果要传递参数的话

pyqtSignal(int)
pyqtSignal(str, int)
pyqtSignal(list)
pyqtSignal(int, QtGui.QPixmap)

括号里填参数类型,什么类型都可以。

上一篇 下一篇

猜你喜欢

热点阅读