On Mar 31, 6:40 pm, Alex Teiche <[EMAIL PROTECTED]> wrote: > On Mar 31, 11:49 am, Alex Teiche <[EMAIL PROTECTED]> wrote: > > > > > On Mar 30, 3:50 pm, Benjamin <[EMAIL PROTECTED]> wrote: > > > > On Mar 29, 11:02 pm, Alex Teiche <[EMAIL PROTECTED]> wrote:> Hello, > > > > > I am pretty new to Python, and have never learned C++. I am trying to > > > > implement the following thing into my python application: > > > > >http://doc.trolltech.com/4.3/qsystemtrayicon.html > > > > > Through PyQt. I have been using PyQt for awhile and I know how do use > > > > it, but I could not get this specific thing to work. Can someone give > > > > me some hints as to get it working in Python? > > > > What problems are you having? > > > > > Thanks a ton, > > > > > Alex > > > Thanks everyone for your help. I found the example to be particularly > > helpful, and I have made a simplified version just to display an icon > > with a quit button in its menu. Once I know how to do that I will > > incorporate it into my larger program, with more options and the > > ability show messages. The problem is, it doesn't work, and I can't > > find out what's wrong. Can you give me some hints? > > > Here is the code: > > import sys > > from PyQt4 import QtGui, QtCore > > > class trayIcon(QtGui.QWidget): > > def __init__(self, parent=None): > > QtGui.QWidget.__init__(self, parent) > > > #********Create Actions for the Tray Menu********# > > self.quitAction = QtGui.QAction(self.tr("&Quit"), self) > > QtCore.QObject.connect(self.quitAction, > > QtCore.SIGNAL("triggered()"), QtGui.qApp, QtCore.SLOT("quit()")) > > > create_tray_icon() > > > self.composeAction.setEnabled(visible) > > QtGui.QWidget.setVisible(self, visible) > > > self.trayIcon.show() > > > def create_tray_icon(self): > > self.trayIconMenu = QtGui.QMenu(self) > > self.trayIconMenu.addAction(self.composeAction) > > self.trayIcon = QtGui.QSystemTrayIcon(self) > > self.trayIcon.setContextMenu(self.trayIconMenu) > > self.trayIcon.setIcon(bad.svg) > > > app = QtGui.QApplication(sys.argv) > > sys.exit(app.exec_()) > > OK, I messed around with it some more, and it works. I just don't > know how to set an icon, and the example doesn't help at all. > > Here is the code: > import sys > from PyQt4 import QtCore, QtGui > > class Systray(QtGui.QWidget): > def __init__(self): > QtGui.QWidget.__init__(self) > > self.createActions() > self.createTrayIcon() > > #QtCore.QObject.connect(self.trayIcon, > QtCore.SIGNAL("messageClicked()"), self.messageClicked) > #QtCore.QObject.connect(self.trayIcon, > QtCore.SIGNAL("activated(QSystemTrayIcon::ActivationReason)"), > self.iconActivated) > > self.trayIcon.show() > > def createActions(self): > #self.minimizeAction = QtGui.QAction(self.tr("Mi&nimize"), self) > #QtCore.QObject.connect(self.minimizeAction, > # QtCore.SIGNAL("triggered()"), self, QtCore.SLOT("hide()")) > > #self.maximizeAction = QtGui.QAction(self.tr("Ma&ximize"), self) > #QtCore.QObject.connect(self.maximizeAction, > # QtCore.SIGNAL("triggered()"), self, > # QtCore.SLOT("showMaximized()")) > > #self.restoreAction = QtGui.QAction(self.tr("&Restore"), self) > #QtCore.QObject.connect(self.restoreAction, > # QtCore.SIGNAL("triggered()"), self, > # QtCore.SLOT("showNormal()")) > > self.quitAction = QtGui.QAction(self.tr("&Quit"), self) > QtCore.QObject.connect(self.quitAction, QtCore.SIGNAL("triggered()"), > QtGui.qApp, QtCore.SLOT("quit()")) > > def createTrayIcon(self): > self.trayIconMenu = QtGui.QMenu(self) > #self.trayIconMenu.addAction(self.minimizeAction) > #self.trayIconMenu.addAction(self.maximizeAction) > #self.trayIconMenu.addAction(self.restoreAction) > #self.trayIconMenu.addSeparator() > self.trayIconMenu.addAction(self.quitAction) > > self.trayIcon = QtGui.QSystemTrayIcon(self) > self.trayIcon.setContextMenu(self.trayIconMenu) > > app = QtGui.QApplication(sys.argv) > x = Systray() > sys.exit(app.exec_()) > > How would I go about setting the icon?
Sorry, here is the code with commented out lines removed: import sys from PyQt4 import QtCore, QtGui class Systray(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.createActions() self.createTrayIcon() self.trayIcon.show() def createActions(self): self.quitAction = QtGui.QAction(self.tr("&Quit"), self) QtCore.QObject.connect(self.quitAction, QtCore.SIGNAL("triggered()"), QtGui.qApp, QtCore.SLOT("quit()")) def createTrayIcon(self): self.trayIconMenu = QtGui.QMenu(self) self.trayIconMenu.addAction(self.quitAction) self.trayIcon = QtGui.QSystemTrayIcon(self) self.trayIcon.setContextMenu(self.trayIconMenu) app = QtGui.QApplication(sys.argv) x = Systray() sys.exit(app.exec_()) -- http://mail.python.org/mailman/listinfo/python-list