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() # 发射信号
简单地说:
- 创建信号:
clicked = QtCore.pyqtSignal()
- 发射信号:
clicked.emit()
🍡 信号如果要传递参数的话
pyqtSignal(int)
pyqtSignal(str, int)
pyqtSignal(list)
pyqtSignal(int, QtGui.QPixmap)
括号里填参数类型,什么类型都可以。
网友评论