# 新建按钮
btn = QPushButton()
#新建菜单
menu = QMenu(btn)
menu.addAction(QAction('菜单项1', self))
# 设置按钮的上下文菜单策略为CustomContextMenu
btn.setContextMenuPolicy(3)
#设置3时,运行会报错则改成
btn.setContextMenuPolicy(Qt.CustomContextMenu)
#设置菜单出现位置
btn.customContextMenuRequested.connect(lambda pos, btn=btn: menu.exec_(btn.mapToGlobal(pos)))
大体思路如上。踩坑的地方就是策略设置为3,改成Qt.CustomContextMenu
本文介绍了在使用Python的Qt库创建按钮时,如何设置按钮的上下文菜单,处理策略3导致的错误,并将策略改为Qt.CustomContextMenu,以及连接信号处理程序执行菜单的动态显示。
663

被折叠的 条评论
为什么被折叠?



