QWidget 及其子类均支持右键菜单功能,通过声明 ContextMenuPolicy 启用菜单
Qt.DefaultContextMenu
默认菜单,重写 contextMenuEvent() 实现自定义
Qt.NoContextMenu
无菜单,事件响应传递给部件父级
Qt.PreventContextMenu
无菜单,事件响应不继续传递
Qt.ActionsContextMenu
事件菜单,只响应部件事件,部件子件的事件不响应
Qt.CustomContextMenu
用户自定义菜单,需绑定事件 customContextMenuRequested,并实现 槽函数
# self inherit QWidget
self.setContextMenuPolicy(Qt.DefaultContextMenu) # contextMenuEvent()
self.setContextMenuPolicy(Qt.NoContextMenu)
self.setContextMenuPolicy(Qt.PreventContextMenu)
self.setContextMenuPolicy(Qt.ActionsContextMenu)
self.setContextMenuPolicy(Qt.CustomContextMenu) # customContextMenuRequested()
1、实现用户菜单
class handler_demo(QWidget, Ui_demo):
def __init__(self):
super().__init__()
self.setupUi(self)
#