2016-02-08 148 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肉桂。

This Window

回答

2

我不知道,你所期望的: 的windowicon显示为applicationIcon(如这里在Ubuntu GNOME,看到我在后台代码)

enter image description here

如果未设置图标,则windowIcon()返回应用程序图标

(QApplication :: windowIcon())。

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

看起来在Ubuntu这样的:

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

谢谢安托万,但我的工作目录相同的图像的目录。我认为这是另一个问题。 –