pyqt4 Jak zminimalizować do traya?

0

Mama taki kod.

# -*- coding: latin2 -*-

import os, sys
path = os.path.dirname(sys.argv[0])
sys.path.append( os.path.join( path, "GUI" ))

from PyQt4 import QtCore, QtGui
from Gui import Ui_MainWindow
from PyQt4.QtCore import Qt

#############################################################################################

class StartQT4(QtGui.QMainWindow):
	def __init__(self, parent=None):
               QtGui.QWidget.__init__(self, parent)
               self.ui = Ui_MainWindow()
               self.ui.setupUi(self)
               
#############################################################################################

if __name__ == "__main__":
	app = QtGui.QApplication(sys.argv)
	myapp = StartQT4()
	myapp.show()

	sys.exit(app.exec_())

Jak zrobić , aby:

  1. Zminimalizować okno do ikony w trayu,
  2. Aby nie było na pasku na dole widać .
  3. Po dwukrotnym kliknięcięciu w ikonę, pokazało się okno.

P.S. Python 2.7.

0

Okna nie minimalizuje się do traya, czasami tylko to tak wygląda w niektórych programach ;) okno jest po prostu ukrywane. Poniżej Twój kod z dodaną obsługą tego co opisałeś.

# -*- coding: latin2 -*-

import os, sys
path = os.path.dirname(sys.argv[0])
sys.path.append( os.path.join( path, "GUI" ))
 
from PyQt4 import QtCore, QtGui
from Gui import Ui_MainWindow
from PyQt4.QtCore import Qt
 
#############################################################################################
 
class StartQT4(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
 
        self.tray = QtGui.QSystemTrayIcon(QtGui.QIcon("x-19-32.png"), app)
        self.tray.setToolTip("Super Apka!")
        self.tray.activated.connect(self.systemIcon)
        
        menu = QtGui.QMenu()
        exitAction = menu.addAction("Zakoncz")
        exitAction.triggered.connect(sys.exit)
        self.tray.setContextMenu(menu)

    def systemIcon(self, reason):
        if reason == QtGui.QSystemTrayIcon.DoubleClick:
            self.show()
            self.tray.hide()
            
    def closeEvent(self, event):
        self.hide()
        self.tray.show()
        event.ignore()
          
#############################################################################################
 
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    myapp = StartQT4()
    myapp.show()
    
    sys.exit(app.exec_())
0

Dział. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1