今天开始写第一篇博客,主要是在学习Python中碰到的一些问题。
学习Python的教程是Mark Lutz 的Learning Python 和 Programming Python。代码大部分都是书上的例子。
example 1-18 tkinter103.py
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('F:\\Evernote.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()
如上图所示,是理想中的程序运行结果,第8行top.iconbitmap('F:\\Evernote.ico'),主要作用是改变对话框左上角的图案,原书上的代码是top.iconbitmap('py-blue-trans-out.ico')。如果按照原代码运行的话会出现如下错误:
Traceback (most recent call last):
File "D:\programming python\tkinter103.py", line 8, in <module>
top.iconbitmap('py-blue-trans-out.ico')
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python35\lib\tkinter\__init__.py", line 1715, in wm_iconbitmap
return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "py-blue-trans-out.ico" not defined
表示"py-blue-trans-out.ico"为定义,是因为没有py-blue-trans-out.ico这个文件,自己替换为“”F:\\Evernote.ico“”就可以。F:\\表示路径,用了两个\\是表示后一个\是\而不是转义符。这是一个关于string的问题。
更改后的结果如下: