代码有帮助,所以我为应用程序编写了一些东西,除了closeEvent而不是minimize事件。
注:
“closeEvent(event)”是一个重写的Qt事件,因此必须将它放在实现要隐藏的窗口的类中。
“okayToClose()”是一个您可能会考虑实现的函数(或者您可能想要存储的布尔标志),因为有时候您实际上想要退出应用程序,而不是最小化到sysray。
还有一个例子说明了如何再次显示窗口。def __init__(self):
traySignal = "activated(QSystemTrayIcon::ActivationReason)"
QtCore.QObject.connect(self.trayIcon, QtCore.SIGNAL(traySignal), self.__icon_activated)
def closeEvent(self, event):
if self.okayToClose():
#user asked for exit
self.trayIcon.hide()
event.accept()
else:
#"minimize"
self.hide()
self.trayIcon.show() #thanks @mojo
event.ignore()
def __icon_activated(self, reason):
if reason == QtGui.QSystemTrayIcon.DoubleClick:
self.show()