Tout d'abord, je suis un programmeur C expérimenté mais nouveau pour python. Je veux créer une application simple en python en utilisant pyqt. Imaginons que cette application soit aussi simple que quand elle est lancée, elle doit placer une icône dans la barre d'état système et offrir une option dans son menu pour quitter l'application.PyQt: Afficher le menu dans une application de barre d'état système
Ce code fonctionne, il montre le menu (je ne connecte pas l'action de sortie et ainsi de suite pour rester simple)
import sys
from PyQt4 import QtGui
def main():
app = QtGui.QApplication(sys.argv)
trayIcon = QtGui.QSystemTrayIcon(QtGui.QIcon("Bomb.xpm"), app)
menu = QtGui.QMenu()
exitAction = menu.addAction("Exit")
trayIcon.setContextMenu(menu)
trayIcon.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
Mais cela ne veut pas:
import sys
from PyQt4 import QtGui
class SystemTrayIcon(QtGui.QSystemTrayIcon):
def __init__(self, icon, parent=None):
QtGui.QSystemTrayIcon.__init__(self, icon, parent)
menu = QtGui.QMenu()
exitAction = menu.addAction("Exit")
self.setContextMenu(menu)
def main():
app = QtGui.QApplication(sys.argv)
trayIcon = SystemTrayIcon(QtGui.QIcon("Bomb.xpm"), app)
trayIcon.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
I probablement manquer quelque chose. Il n'y a pas d'erreur mais dans le second cas, lorsque je clique avec le bouton droit, le menu n'apparaît pas.
En tant que compagnon de programmeur C juste dans Python. Je peux dire "errrmmm" aussi. –
Si votre réponse résout le problème, s'il vous plaît choisir la copie de votre réponse de communauté-wiki comme "la" réponse (je n'obtiendrai aucune réputation :). J'ai également édité votre réponse pour corriger une faute de frappe mineure. – tzot