Pho*_*nix 9 python ubuntu tkinter pycharm
好吧,我有这个:
import tkinter
gui = tkinter.Tk()
gui.iconbitmap(default='/home/me/PycharmProjects/program/icon.ico')
gui.mainloop()`
Run Code Online (Sandbox Code Playgroud)
但是当我跑步时,我得到一个错误说
Traceback (most recent call last):
File "/home/spencer/PycharmProjects/xMinecraft/GUI.py", line 17, in <module>
gui.iconbitmap(default='/home/me/PycharmProjects/program/icon.ico')
File "/usr/lib/python3.3/tkinter/__init__.py", line 1638, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, '-default', default)
_tkinter.TclError: wrong # args: should be "wm iconbitmap window ?bitmap?"`
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用tkinter设置一个窗口,我已经制作了图标.我在ubuntu 13.10上安装了Pycharm.我尝试了各种各样的事情,从更改'/'到'\'并在前面添加Z://因为这是我的分区名称.但我仍然得到错误,所以请帮助.
您需要将路径指定为第一个位置参数,或使用关键字参数"bitmap".它的文档记录很差,但需要位图参数; 你不能只给出default关键字参数.实际上,bitmap关键字参数已在python 3中删除.
但是,您只能在Windows上使用.ico文件.在ubuntu和其他Linux机器上,你需要使用.xbm文件,并需要在它前面添加"@"
这应该仅适用于Windows:
gui.iconbitmap('/home/me/PycharmProjects/program/icon.ico')
Run Code Online (Sandbox Code Playgroud)
在ubuntu上,它需要是这样的:
gui.iconbitmap('@/home/me/PyCharmProjets/program/icon.xbm')
Run Code Online (Sandbox Code Playgroud)
您不能只将.ico文件重命名为.xbm,它们是完全不同的文件格式.
小智 6
有趣的一点研究
png、svg、ico 不起作用
感谢 sqlitemanager,我在我的机器上找到了一个 xbm (xubuntu - Linux dist)
工具.xbm
注意@ - 代码是对 Lutz“Python 编程”第 1 章 tkinter103.py 的修改
from tkinter import *
from tkinter.messagebox import showinfo
def reply(name):
showinfo(title='Reply', message='Hello %s!' % name)
top = Tk()
#img = PhotoImage(file='py-blue-trans-out.ico') #no
top.title('Echo')
top.iconbitmap('@tool.xbm') #yes
#top.iconphoto(True, PhotoImage(file='tool.xbm')) #no
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)
| 归档时间: |
|
| 查看次数: |
9408 次 |
| 最近记录: |