我试图像这样设置一个应用程序图标(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)
我究竟做错了什么?
我在屏幕上显示两秒钟的图像功能时出现问题,然后被破坏.当程序运行函数时,初始调用程序运行正常,但如果函数随后通过tkinter中内置的按钮调用,则会出现错误.
appcwd = os.getcwd()
user32 = ctypes.windll.user32
screensize = user32.GetSystemMetrics(0), user32.GetSystemMetrics(1)
size = str(screensize[0])+'x'+str(screensize[1])
def wlcm_scrn(event=None):
def destroy_wlcm(event=None):
wlcm_scrn.destroy()
global appcwd
global screensize
wlcm_scrn = tkinter.Tk()
file=appcwd+"\\Run_Files\\splash.gif"
splsh_img = tkinter.PhotoImage(file=file)
splosh = tkinter.Label(wlcm_scrn,image=splsh_img)
wlcmh = splsh_img.height()/2
wlcmw = splsh_img.width()/2
splosh.pack()
wlcm_scrn.config(bg='black')
wlcm_scrn.overrideredirect(True)
wlcm_scrn.bind("<Escape>",destroy_wlcm)
wlxym = '+'+str(int((screensize[0]/2)-wlcmw))+'+'+str(int((screensize[1]/2)-wlcmh))
wlcm_scrn.geometry(wlxym)
wlcm_scrn.wm_attributes("-topmost", 1)
wlcm_scrn.after(2000,destroy_wlcm)
wlcm_scrn.mainloop()
wlcm_scrn() #Call through procedure.
Run Code Online (Sandbox Code Playgroud)
调用该函数的按钮.
view_img = tkinter.Button(cfrm,text='Show splash image',command=wlcm_scrn)
Run Code Online (Sandbox Code Playgroud)
通过按钮命令调用时出现错误消息.
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1475, in __call__
return self.func(*args)
File …Run Code Online (Sandbox Code Playgroud) 我想在我的基于Python Tk包的GUI应用程序中设置一个图像.
我试过这段代码:
root.iconbitmap('window.xbm')
Run Code Online (Sandbox Code Playgroud)
但它给了我这个:
root.iconbitmap('window.xbm')
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1567, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "window.xbm" not defined
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
我知道这可能很明显,但是在 tkinter 中你可以设置一个图标,但我发现很难找到一个。我只是想知道您是否必须使用.ico文件的格式,或者是否有使用.png或.jpeg文件的方法。
目前我有
window = Tkinter.Tk()
window.title("Weclome!")
window.geometry("200x300")
window.wm_iconbitmap("Icon.ico")
window.configure(background = "Black")
Run Code Online (Sandbox Code Playgroud)
这就是我拥有的整个设置,我只想了解第 4 行:
window.wm_iconbitmap("Icon.ico")
Run Code Online (Sandbox Code Playgroud)
感谢您回答我的问题,尽管我很抱歉没有花更多时间研究这个问题,而只是在这里提问。
tkinter ×4
python ×3
python-3.x ×2
.ico ×1
icons ×1
launcher ×1
python-2.7 ×1
ubuntu ×1
windows ×1