相关疑难解决方法(0)

设置窗口图标

当我尝试使用下面的代码将丑陋的红色"TK"左上角的窗口图标更改为我自己的图标时,Python发出错误:

from tkinter import *
root = Tk()

#some buttons, widgets, a lot of stuff

root.iconbitmap('favicon.ico')
Run Code Online (Sandbox Code Playgroud)

这应该将图标设置为'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
Run Code Online (Sandbox Code Playgroud)

我已经做了什么:

  • 我检查了路径 - 一切都是100%正确
  • 我尝试了其他文件格式,如- .png.bmp没有工作
  • 我在许多网站上看到了这个问题

而对于第三点,我最喜欢的关于Tkinter的网站effbot.org告诉我,Windows忽略了这个iconbitmap功能.但这并不能解释为什么会抛出错误!

有一些"hackish"方法可以避免这个问题,但没有一个是为Python 3.x编写的.

所以我的最后一个问题是:有没有办法使用Python 3.x和Tkinter获取自定义图标?

另外,不要告诉我应该使用另一个GUI库.我希望我的程序能够在每个平台上运行.我也想要一个编码版本,而不是一个py2exesth解决方案.

python tkinter windows-7 python-3.x tkinter.iconbitmap

46
推荐指数
3
解决办法
11万
查看次数

tkinter TclError:读取位图文件时出错

我试图像这样设置一个应用程序图标(python3/tkinter):

Interface()
root.title("Quicklist Editor")
root.iconbitmap('@/home/jacob/.icons/qle_icon.ico')
root.resizable(0, 0)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

无论我做什么,我都会收到一条错误消息(闲置),说:

return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: error reading bitmap file "/home/jacob/.icons/qle_icon.ico"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

icons tkinter launcher python-3.x

18
推荐指数
4
解决办法
4万
查看次数

Linux 上的 Python 3.6 tkinter 窗口图标错误

我正在从《Python GUI 编程手册》学习 Python GUI。某项任务要求我通过将以下代码添加到我的配方中来更改窗口图标:

# Change the main windows icon
win.iconbitmap(r'C:\Python34\DLLs\pyc.ico')
Run Code Online (Sandbox Code Playgroud)

由于我使用的是 Linux,因此我必须将路径更改为/home/user/test.ico. 阅读类似的问题后,我知道这.ico仅适用于Windows。我尝试过.gif,但这也不起作用。我尝试过的现有SO文章: tkinter TclError:读取位图文件时出错 在我的python Tk基础应用程序中设置应用程序图标(在Ubuntu上) tkinter.TclError:图像“pyimage3”不存在

所有这三个都没有帮助。我收到以下每个错误:

In [3]: runfile('/home/bhedia/untitled1.py', wdir='/home/bhedia')
Traceback (most recent call last):

  File "<ipython-input-3-17a671578909>", line 1, in <module>
    runfile('/home/bhedia/untitled1.py', wdir='/home/bhedia')

  File "/home/bhedia/anaconda3/envs/mitx/lib/python3.5/site-packages/spyder/utils/site/sitecustomize.py", line 880, in runfile
    execfile(filename, namespace)

  File "/home/bhedia/anaconda3/envs/mitx/lib/python3.5/site-packages/spyder/utils/site/sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "/home/bhedia/untitled1.py", line 58, in <module>
    img = tk.PhotoImage(file='test.ico')

  File "/home/bhedia/anaconda3/envs/mitx/lib/python3.5/tkinter/__init__.py", line 3403, in __init__
    Image.__init__(self, 'photo', name, …
Run Code Online (Sandbox Code Playgroud)

python linux tkinter python-3.x

5
推荐指数
1
解决办法
4785
查看次数

.iconbitmap 给出 TclError:位图“*.ico”未定义

我正在使用 Tkinter,并且在尝试运行代码时不断收到错误消息,有人可以帮忙吗?

from tkinter import *
from tkinter.messagebox import showinfo

def reply(name):
    showinfo(title='Reply', message='Hello %s!' % name)

top = Tk()
top.title('Echo')
top.iconbitmap('py-blue-trans-out.ico')
Label(top, text="Enter your name:").pack(side=TOP)

ent = Entry(top)
ent.pack(side=TOP)
btn = Button(top, text="Submit", command=(lambda: reply(ent.get())))
btn.pack(side=LEFT)
top.mainloop()
Run Code Online (Sandbox Code Playgroud)

我不断收到此错误消息:

Traceback (most recent call last):
  File "C:\Users\User\Desktop\manage\tkinter103.py", line 9, in <module>
    top.iconbitmap('py-blue-trans-out.ico')
  File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1871, in wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "py-blue-trans-out.ico" not defined
Run Code Online (Sandbox Code Playgroud)

python tkinter .ico

5
推荐指数
1
解决办法
8382
查看次数