2016-10-30 2 views
0

Ich versuche PyQt zu lernen. Während ich ein Tutorial durchführe, um die Grundlagen zu bekommen, habe ich ein Problem mit QIcon festgestellt.Die Verwendung von QIcon zeigt nicht das Bild

import os 
import sys 

import PyQt5 

dirname = os.path.dirname(PyQt5.__file__) 
plugin_path = os.path.join(dirname, 'plugins', 'platforms') 
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path 

from PyQt5.QtWidgets import QApplication, QWidget 
from PyQt5.QtGui import QIcon 


class Example(QWidget): 

    def __init__(self): 
     super().__init__() 

     self.initUI() 


    def initUI(self): 

     self.setGeometry(300, 300, 300, 220) 
     self.setWindowTitle('Icon') 
     self.setWindowIcon(QIcon('web.png'))   

     self.show() 


if __name__ == '__main__': 

    app = QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 

jedoch das resultierende Fenster enthält ein Standard-Symbol und nicht das gewünschte Bild:

wird der folgende Code ein einfaches Fenster mit einem Symbol aus einem Bild namens ‚web.png‘ schaffen sollte Wrong Icon!

Das Bild web.png befindet sich im aktuellen Arbeitsverzeichnis. Ich benutze Python 3.5.1 und PyQt 5 mit Qt 5.6.2.

Jede Hilfe wäre willkommen.

+0

Während ich daran herumgebastelt habe, habe ich festgestellt, dass es funktioniert, wenn ich versuche, eine Datei mit der Erweiterung .ico zu verwenden. –

+0

Allerdings ist die ico-Qualität ziemlich schlecht, und ich würde trotzdem gerne wissen, ob es einen Grund gibt, Python dazu zu bringen, die Originaldateien zu lesen und sie als Symbole in der oberen linken Ecke des Programms anzuzeigen. Danke –

+0

Überprüfen Sie Ihre 'imageforms' Plugins. Scheint, als ob du sie vermisst. – ilotXXI

Antwort

0

Sie versuchen, das Symbol an der falschen Stelle zu ändern. Ich bin auf dieses Problem gestoßen, here ist die Lösung.

Sie müssen das Symbol des "subWindow" ändern, schauen Sie einfach die Lösung oben.