ich habe eine kleine Frage an euch. Da mein kleines "GUI-Projekt" unter Windows funktioniert, wollte ich dieses kleine funktionslose "Programm" auch mal unter Linux testen. Bei mir läuft Debian7 unter VMWare. Das kleine "Projekt" funktioniert auch soweit, und die Icons in der ToolBar werden angezeigt, aber in meiner Menüleiste will es nicht funktionieren, obwohl es unter Windows wunderbar klappt. Wir erinnern uns, es handelt sich hier um ein MainWindow, eine ToolBar und eine Menüleiste, die ich per Hand geschrieben habe - um OOP ein wenig näher zu kommen. Damit wir einen Einblick bekommen, hier die Ausschnitte:
MDIForm.py
Code: Alles auswählen
from os import *
import sys
from PyQt4.QtGui import QMainWindow, QApplication, QAction, QMenuBar, QToolBar, QIcon, QScrollBar
class MDIFormular(QMainWindow):
# Vererbung aktivieren, angeben, dass es keine Elternform hat
def __init__ (self, parent=None):
QMainWindow.__init__(self, parent)
self.setWindowTitle(' Xarphus Build 0.1')
self.statusBar().showMessage('Ready')
self.MNUL_Verwaltung = MenueLeiste()
self.setMenuBar(self.MNUL_Verwaltung)
self.MNUL_Verwaltung.DoShowmnuClose.triggered.connect(self.MnuCloseMain)
self.DoShowToolBar = ToolBarLeiste()
self.addToolBar(self.DoShowToolBar)
self.DoShowToolBar.actAddExit.triggered.connect(self.MnuCloseMain)
def MnuCloseMain(self):
print "Ihr Programm wurde soeben erfolgreich beendet."
self.close()
if __name__ == "__main__":
print 'Dieses Programm läuft als Main.'
else:
print 'Das Programm wird von einem anderen Modul importiert.'
app = QApplication(sys.argv)
MDIWindow = MDIFormular()
MDIWindow.showMaximized()
sys.exit(app.exec_())
MDIForm_Menue.py
Code: Alles auswählen
# -*- coding: utf-8 -*-
from os import *
import sys
from PyQt4.QtGui import QAction, QMenuBar, QIcon
class MenueLeiste(QMenuBar):
def __init__ (self, parent=None):
QMenuBar.__init__(self, parent)
##########################################################################
###### Menuleiste (=MNUL) "Verwaltung" #############################################
##########################################################################
# Eine eigenständige Menuleiste wird erstellt.
self.MNUL_Verwaltung = self.addMenu('&Verwaltung')
# Menüpunkt
#self.DoShowmnuClose = QAction("Beenden", self)
self.DoShowmnuClose = QAction(QIcon(path.join('Xarphus/Images/16x16/exit.png')), "Beenden", self)
self.DoShowmnuClose.setShortcut("Ctrl+Q")
self.DoShowmnuClose.setStatusTip("Programm beenden")
self.MNUL_Verwaltung.addAction(self.DoShowmnuClose)
Code: Alles auswählen
# -*- coding: utf-8 -*-
from os import *
import sys
from PyQt4.QtGui import QAction, QToolBar, QIcon
from PyQt4 import QtCore
class ToolBarLeiste(QToolBar):
def __init__ (self, parent=None):
QToolBar .__init__(self, parent)
# An dieser Stelle erzeugen wir eine Werkzeugleiste
self.actAddExit = QAction(QIcon(path.join('Xarphus/Images/32x32/Exit.png')), 'Programm beenden', self)
self.actAddExit.setStatusTip("Programm beenden")
self.addAction(self.actAddExit)