在创建上下文菜单的方法上,我们已经介绍过一种简单的方法。本篇所要带来的方法略有难度,但在控制和调用上比较方便。
1、覆盖事件处理程序方法QMainWindow。
2、创建QMenu传递小部件(上下文小部件)作为其父对象的对象。
3、用动作填充菜单对象。
4、使用.globalPos()作为参数启动菜单的对象。
实例
class Window(QMainWindow): # Snip... def contextMenuEvent(self, event): # Creating a menu object with the central widget as parent menu = QMenu(self.centralWidget) # Populating the menu with actions menu.addAction(self.newAction) menu.addAction(self.openAction) menu.addAction(self.saveAction) menu.addAction(self.copyAction) menu.addAction(self.pasteAction) menu.addAction(self.cutAction) # Launching the menu menu.exec(event.globalPos())
以上就是python PyQt事件处理实现上下文菜单的方法,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。