def __init__(self, args=[]): QtGui.QApplication.__init__(self, args) if not self.check_one_instance(): QtGui.QMessageBox.information( None, "Error", u"Ya se encuentra una aplicacion en ejecución") return QtGui.qApp.exec_() # No cerrar cuando la ultima ventana se cierra self.setQuitOnLastWindowClosed(False) self.main_win = MainWin() self.tray_icon = QtGui.QSystemTrayIcon() self.tray_icon.setIcon(QtGui.QIcon(':/icons/res/view-statistics.png')) # Menú para el ícono de la barra tray self.tray_menu = QtGui.QMenu() self.action_salir = self.tray_menu.addAction('Salir') self.action_salir.setIcon( QtGui.QIcon(':/icons/res/application-exit.png')) self.action_ventana = QtGui.QAction('Mostrar ventana principal', self.tray_menu) # Conexion de la ventana self.connect(self.action_ventana, QtCore.SIGNAL('toggled(bool)'), self.toggleVentana) self.connect(self.main_win, QtCore.SIGNAL('hidden()'), self.hideMainWin) self.action_ventana.setCheckable(True) self.tray_menu.addAction(self.action_ventana) self.connect(self.action_salir, QtCore.SIGNAL("triggered()"), QtGui.qApp.exit) self.tray_icon.setContextMenu(self.tray_menu) # Mostrar la vetnana principal #self.main_win.show() # Primero mostramos el icono en la barra tray self.tray_icon.show() # Luego mostramos la vetana self.action_ventana.setChecked(True)
def main(argv=sys.argv): app = QtGui.QApplication(argv) win = MainWin() win.show() return app.exec_()