2016-10-30 11 views
0

Я пытаюсь узнать PyQt. Просматривая учебник для получения основ, я столкнулся с проблемой с QIcon.Использование QIcon не отображает изображение

Следующий код предполагается создать простое окно со значком с изображением под названием «web.png»:

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_()) 

Однако, в результате чего окно содержит стандартную иконку, а не желаемое изображение: Wrong Icon!

Изображение web.png содержится в текущем рабочем каталоге. Я использую Python 3.5.1 и PyQt 5 с Qt 5.6.2.

Любая помощь будет оценена по достоинству.

+0

В то время как возиться с этим, я обнаружил, что если я пытаюсь использовать файл с расширением .ico, он действительно работает. –

+0

Однако качество ico довольно плохое, и я все равно хотел бы знать, есть ли причина заставить python читать исходные файлы и отображать их как значки в верхнем левом углу программы. Спасибо –

+0

Проверьте плагины 'imageformats'. Похоже, вы скучаете по ним. – ilotXXI

ответ

0

Вы пытаетесь изменить иконку не в том месте. Я столкнулся с этой проблемой, решение here.

Вы должны изменить значок «subWindow», просто найдите решение выше.