2016-02-08 4 views
1

Изучаю этот учебник http://zetcode.com/gui/pyqt5/firstprograms/ и код здесь.Значок окна не отображается

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

Могу ли я показать значок окна? Я использую PyQt5, Python3.4 и Linuxmint 17.2 cinnamon.

This Window

ответ

2

я не уверен, что вы ожидали: windowicon показан как applicationIcon (например, здесь на Ubuntu гнома, см мой код в фоновом режиме)

enter image description here

Если значок не установлен, windowIcon() возвращает значок приложения

(QApplication :: windowIcon()).

http://doc.qt.io/qt-5/qwidget.html#windowIcon-prop

смотрит на убунту как это:

enter image description here

так я думаю, что код работает правильно

+1

ой, я думаю, что значок означает левый верхний левый значок, но на самом деле это значок строки состояния. теперь я понимаю, что верхний левый значок окна - ничто. благодаря! –

1

Проверьте, где файл значок помещается. Он должен быть помещен в каталог выполнения в вашем случае. Вы можете проверить выполнения directroy со следующим изменением:

if __name__ == '__main__': 
    import os 
    print("Work dir:" + os.getcwd()) 

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

спасибо Антуану, но каталог мой рабочий каталог же самого изображения. Я думаю, что это еще одна проблема. –

Смежные вопросы