2017-03-04 99 views
5
from PyQt5 import QtWidgets, QtGui 
from PyQt5.QtWidgets import * 
from PyQt5.QtCore import * 

class Application(QMainWindow): 
    def __init__(self): 
     super(Application, self).__init__() 
     self.setWindowIcon(QtGui.QIcon('icon.png')) 

我想設置一個窗口圖標(窗口左上角),但正常的圖標消失了。如何用PyQt5設置窗口圖標?

我嘗試了許多圖標分辨率(8x8,16x16,32x32,64x64)和擴展名(.png和.ico)。

我在做什麼錯?

+0

使用絕對路徑。 – ekhumoro

+0

謝謝,但它不起作用。我試着用self.setWindowIcon(QtGui.QIcon('C:/Users/John/PycharmProjects/pythonproject/icon.png'))。另外,我必須在導入中添加QtGui才能獲得QIcon。我甚至不確定這是用PyQt5做的好方法。 – HumanAfterAll

+0

如果您將圖標添加到一個按鈕? PS:QtGui.QImageReader.supportedImageFormats()是什麼輸出? – ekhumoro

回答

1

答案是由提問者(隱形圖標)給出的。我想補充說腳本可能不會在腳本目錄中執行。在任何情況下,爲了安全起見,你可能希望確保相對於該腳本所在的目錄的圖標被加載:由提問者的建議

import os 
# [...] 
scriptDir = os.path.dirname(os.path.realpath(__file__)) 
self.setWindowIcon(QtGui.QIcon(scriptDir + os.path.sep + 'logo.png')) 
1

命令,工作對我來說:

self.setWindowIcon(QtGui.QIcon('icon.png')) 

我把256x256 png和一切都OK。我有Win 7 pro 64位,Python 3.5.2 32位。