PyQt5 窗口添加右键菜单
2019-08-26 python 3890
import sys from PyQt5.QtWidgets import QApplication,QWidget,QMenu,QMessageBox from PyQt5.QtCore import Qt from PyQt5.QtGui import QCursor class Example(QWidget): def __init__(self): super().__init__() # 窗口标题 self.setWindowTitle('右键菜单') # 定义窗口大小 self.resize(400, 400) # 将ContextMenuPolicy设置为Qt.CustomContextMenu # 否则无法使用customContextMenuRequested信号 self.setContextMenuPolicy(Qt.CustomContextMenu) # 创建QMenu信号事件 self.customContextMenuRequested.connect(self.showMenu) self.contextMenu = QMenu(self) self.CP = self.contextMenu.addAction('复制') self.JQ = self.contextMenu.addAction('剪切') self.NT = self.contextMenu.addAction('粘贴') # 二级菜单 self.GN = self.contextMenu.addMenu("功能") self.ZJ = self.GN.addAction('增加') self.XG = self.GN.addAction('修改') self.SC = self.GN.addAction('删除') # 事件绑定 self.CP.triggered.connect(self.Event) self.JQ.triggered.connect(self.Event) self.NT.triggered.connect(self.Event) self.ZJ.triggered.connect(self.Event) self.XG.triggered.connect(self.Event) self.SC.triggered.connect(self.Event) def showMenu(self, pos): # pos 鼠标位置 print(pos) # 菜单显示前,将它移动到鼠标点击的位置 self.contextMenu.exec_(QCursor.pos()) # 在鼠标位置显示 def Event(self): QMessageBox.information(self, "提示:", ' 您选择了' + self.sender().text()) if __name__ == "__main__": app = QApplication(sys.argv) ex = Example() ex.show() sys.exit(app.exec_())
很赞哦! (0)
相关文章
文章评论
-
-
-
0条评论