为按钮 QPushButton 添加右键点击功能,实现原理是新定义一个类、继承 QPushButton,在其中为右键单击事件添加信号并发送,最终为该右键单击信号添加槽进行后续处理。
from PyQt5.Qt import *
class Btn(QPushButton):
# 类属性
# abc = 10
rightClicked = pyqtSignal()
def mousePressEvent(self, evt):
super().mousePressEvent(evt)
# 为右键单击事件建立信号
if evt.button()==Qt.RightButton:
self.rightClicked.emit()
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("PyQt5 的学习")
self.resize(500, 500)
self.setup_ui()
def setup_ui(self):
btn = Btn("xx",self)
btn.clicked.connect(lambda: print("按钮被点击了"))
# 为右键单击信号连接槽
btn.rightClicked.connect(lambda: print("按钮被右键单击了"))
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
版权声明:本文为weixin_40796925原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。