pyqt - 给QLabel添加clicked信号

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
import sys

class myLabel(QLabel):
    clicked = pyqtSignal()
    def mouseReleaseEvent(self, QMouseEvent):
        if QMouseEvent.button() == Qt.LeftButton:
            self.clicked.emit()

class Wind(QDialog):
    clicked = pyqtSignal()
    def __init__(self):
        super().__init__()
        self.label = myLabel()
        self.label.setText('这是一个文本标签')

        vb = QVBoxLayout()
        vb.addWidget(self.label)
        self.setLayout(vb)

        self.label.clicked.connect(self.showData)
        self.clicked.connect(self.showData)

    def showData(self):
        print('ok')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = Wind()
    win.show()
    sys.exit(app.exec_())
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容