Hallo liebe Icons, wo seid ihr?
Verfasst: Freitag 13. Juni 2014, 16:29
Hallo,
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
MDIForm_Menue.py
MDIForm_ToolBar.py
Wenn wir uns mal die beiden Dateien "MDIForm_ToolBar.py" und "MDIForm_Menue.py" ansehen, so sehen wir, dass die Path-Angaben und die Ordnerstrukturen bei beiden ähnlich sind, bei Menu liegen die *.png-Dateien im Ordner "16x16" und für die Toolbar im Ordner "32x32". Und dennoch sehe ich unter Linux in meiner Menüleiste kein einziges Icon, während in der Toolbar mein Icon wunderbar zu sehen ist. Liegt es das "Problem" eher bei Debian oder bei mir?
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)