[PyQt] Two problems with QSystemTrayIcon
Adam Batkin
adam at batkin.net
Sun Mar 30 00:14:05 GMT 2008
I know it's been a while since you posted (and even long since I've read
the list archives), so maybe you have figured this out already, but just
in case (and so future folks can Google it)...
In order to make the tray icon disappear properly, you need to call
hide() or setVisible(False) on it first, but of course you have to do
that within your main loop. So you'll probably need to hook your quit
signal up to a helper function that will hide the tray, then actually exit.
Hope this helps,
-Adam Batkin
duncan duncan wrote:
> Hello.
>
> I am trying to put an icon into the system tray area using
> QSystemTrayIcon. All work well except when I close the program.
>
> I put the icon in the area using this code:
>
> ----
> icon=QtGui.QIcon("pixmaps/todo_list.png")
> systray=QtGui.QSystemTrayIcon(icon)
> #systray.setIcon(icon)
> menu = QtGui.QMenu()
> quitAction = menu.addAction('Quit')
> systray.setContextMenu(menu)
> quitAction.connect(quitAction, QtCore.SIGNAL("triggered()"),
> ui.QuitApp)
> systray.show()
>
> sys.exit(app.exec_())
> -----
>
> I have two minor problems:
>
> 1) when I close the program, the icon stay in the tray area until I move
> the mouse pointer over it, at this point it go away
> 2) after exiting from the program, I get this error:
> QApplication::qAppName: Please instantiate the QApplication object first
>
> I have the feeling that the two problems are connected, but I cannot
> find a clue
>
> I am working with Qt 4.3.3 and PyQt4.3.3.2 under Windows XP
>
> Any suggestions ?
>
> thanks in advance
> Gianluca
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> PyQt mailing list PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
More information about the PyQt
mailing list