我有一個PySide GUI應用程序(用Python編寫3,在Windows 7專業版上運行)中,我設置的應用程序圖標如下:應用程序圖標
class MyGui(QtGui.QWidget):
def __init__(self):
super(MyGui, self).__init__()
...
self.setWindowIcon(QtGui.QIcon('MyGui.ico'))
if os.name == 'nt':
# This is needed to display the app icon on the taskbar on Windows 7
import ctypes
myappid = 'MyOrganization.MyGui.1.0.0' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
...
我得到的東西來自this answer。如果我刪除這些行,則執行python MyGui.py
時,任務欄中會顯示Python圖標。
隨着這些行包括一切看起來不錯,與窗口和任務欄上的正確圖標。但是,當我使用cxfreeze打包gui時,窗口和任務欄圖標都變爲通用的windows .exe圖標。
我使用cxfreeze.bat
打包應用程序,使用發現的指令here,包括--icon
開關。在瀏覽器中查看時,使用該開關可使生成的exe文件具有正確的圖標。但是,啓動應用程序時,應用程序窗口和任務欄不顯示圖標。我試圖將.ico文件複製到.exe所在的目錄中,但這沒有幫助。
我在Windows 7上獲得相同的行爲& 8.好奇的是,如果我將應用程序固定到任務欄,任務欄圖標顯示正確,但窗口圖標仍然是普通的exe圖標。
如何讓圖標正確顯示?
這很有效!非常感謝。我確實看到了一些關於qico4.dll要求的信息,但解決這個問題的方法各不相同,而且我嘗試過的這對夫婦沒有工作。把.ico和.png圖標都不是最好的,但它是最簡單的解決方案。 – Praetorian