當我試圖改變從醜陋的紅色「TK」使用下面的代碼我自己的圖標左上角的窗口圖標,Python中拋出一個錯誤:設置窗口圖標
from tkinter import *
root = Tk()
#some buttons, widgets, a lot of stuff
root.iconbitmap('favicon.ico')
這應該設置該圖標爲'favicon.ico'(根據網上的大量論壇帖子)。但不幸的是,所有這行代碼會引發以下錯誤:
Traceback (most recent call last):
File "d:\ladvclient\mainapp.py", line 85, in <module>
root.iconbitmap(bitmap='favicon.ico')
File "C:\Python33\lib\tkinter\__init__.py", line 1637, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "favicon.ico" not defined
我已經做了:
- 我檢查了路徑 - 一切都是100%正確
- 我試過其他的文件格式,如
.png
或.bmp
- 沒有工作 - 我看這個問題了很多網站上
第三點,我最喜歡的Tkinter網站effbot.org告訴我Windows忽略了iconbitmap
函數。 但這並不能解釋它爲什麼會拋出錯誤!
有一些「黑客」的方法可以避免這個問題,但它們都不是爲Python 3.x編寫的。
所以我的最後一個問題是:有沒有辦法使用Python 3.x和Tkinter獲取自定義圖標?
此外,不要告訴我我應該使用另一個GUI庫。我希望我的程序能夠在每個平臺上工作。我也想要一個編碼版本,而不是py2exe
或sth
解決方案。
是你正在運行腳本的文件夾中的'favicon.ico'?其他方面,你必須提供完整的路徑。另外,當你可以做的其他事情是將格式更改爲'.gif'時,我認爲這是tkinter接受的唯一格式。 – enginefree
@enginefree - 編號Tkinter也接受'.ico'。 – iCodez