En primer lugar, soy un programador de C experimentado pero nuevo en python. Quiero crear una aplicación simple en python usando pyqt. Imaginemos que esta aplicación es tan simple como cuando se ejecuta tiene que poner un ícono en la bandeja del sistema y tiene una opción en su menú para salir de la aplicación.PyQt: Mostrar menú en una aplicación de bandeja de sistema
funciona este código, se muestra el menú (no me conecto la acción de salida y así sucesivamente hasta que sea sencillo)
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()
pero esto no significa:
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 Probablemente te pierdas algo. No hay errores, pero en el segundo caso, cuando hago clic con el botón derecho, no se muestra el menú.
Como programador de C compañero acaba de entrar en Python. Puedo decir "errrmmm" también. –
Si su respuesta resuelve el problema, elija la copia de la wiki de la comunidad de su respuesta como "la" respuesta (no obtendré ninguna reputación :). También edité tu respuesta para corregir un error tipográfico menor. – tzot