trayiconContextMenu = QtGui.QMenu()
trayiconContextMenu.addAction("Exit")
trayicon.setContextMenu(trayiconContextMenu)
В pyqt контекстное меню прикреплено к значку в системном трее.
В конкретном сценарии выход приложения вызывается внутренне, но в это время, если меню панели задач открывается вручную, приложение не будет завершено.Меню qsystemtray не скрывается, когда приложение остановлено
После нажатия клавиши Esc
или нажатия мышью в каком-либо другом приложении (например, когда меню лотка скрыто, выход приложения будет вызываться с ошибками.
trayiconContextMenu.hide()
/*does not work in my above case.*/
trayicon.hide()
/*hides tray icon alone but not the tray menu*/
Также для того же сценария приход приложения работает должным образом, когда меню лотка не отображается.
Помощь будет оценена по достоинству.
Какую функцию вы звоните, чтобы выйти из приложения? например 'sys.exit' закроет контекстное меню. – reclosedev
QtGui.qApp.exit() –
Невозможно воспроизвести на Win32. 'sys.exit' и' QtGui.qApp.exit() 'немедленно закрывает приложение, когда отображается контекстное меню. – reclosedev