【发布时间】:2012-01-30 15:35:36
【问题描述】:
trayiconContextMenu = QtGui.QMenu()
trayiconContextMenu.addAction("Exit")
trayicon.setContextMenu(trayiconContextMenu)
在 pyqt 中,上下文菜单附加到系统托盘图标。
在特定场景下,内部调用了应用退出,但此时如果手动弹出系统托盘菜单,应用不会退出。
在其他应用程序中按下Esc 键或单击鼠标后(即隐藏托盘菜单时),将调用应用程序退出并出现错误。
trayiconContextMenu.hide()
/*does not work in my above case.*/
trayicon.hide()
/*hides tray icon alone but not the tray menu*/
当托盘菜单没有弹出时,同样的场景应用退出也能正常工作。
非常感谢您的帮助。
【问题讨论】:
-
你调用什么函数来退出应用程序?例如
sys.exit将关闭上下文菜单。 -
无法在 Win32 上重现。
sys.exit和QtGui.qApp.exit()在上下文菜单可见时立即关闭应用程序。 -
好吧,我可以在我的 mac 中重现它。抱歉,有关操作系统类型的信息延迟