Python遇到menu.exec_(evt.globaPos())报错退出
本帖最后由 zhcj66 于 2020-2-3 13:43 编辑答案在3楼
如题,程序运行到menu.exec_(evt.globaPos())时程序崩溃了,新手学习希望帮忙看看什么原因
右击出现
Process finished with exit code 255
import sys
from PyQt5.Qt import *
app = QApplication(sys.argv)
window = Window()
window.setWindowTitle("QPushButton")
window.resize(500,500)
btn = QPushButton(QIcon("xxx.png"), "xxx" , window)
class Window(QWidget):
def contextMenuEvent(self, evt):
print("展示菜单")
menu = QMenu(self)
# 子菜单 最近打开
open_recent_menu = QMenu()
open_recent_menu.setTitle("最近打开")
# 行为动作 新建 打开 分割线 退出
new_action = QAction(QIcon("xxx.png"), "新建")
new_action.triggered.connect(lambda: print("新建文件"))
open_action = QAction(QIcon("xxx.png"), "打开")
open_action.triggered.connect(lambda: print("打开文件"))
exit_action = QAction("退出")
exit_action.triggered.connect(lambda: print("退出软件"))
file_action = QAction("最近_PyThon-GUI编程-PyQt5")
file_action.triggered.connect(lambda: print("打开-PyThon-GUI编程-PyQt5"))
menu.addAction(new_action)# 添加行动
menu.addAction(open_action)# 添加行动
open_recent_menu.addAction(file_action)# 添加行动
menu.addMenu(open_recent_menu)# 添加子菜单
menu.addSeparator()# 添加横线
menu.addAction(exit_action)# 添加行动
# menu.exec_(QPoint(100,100))#直接设置坐标点
menu.exec_(evt.globaPos())#展示在鼠标点击的位置 # QContextMenuEvent
window.show()
sys.exit(app.exec_()) #必须这么加,否则一闪而过
把menu.exec_ 换成 menu.popup试试 evt.globaPos 这里打错了,应该是evt.globalPos。 葫芦炒鸡蛋 发表于 2020-2-3 12:57
evt.globaPos 这里打错了,应该是evt.globalPos。
谢谢,确实是这个问题,
页:
[1]