参考资料:辛星Tkinter
调试软件:pycharm
1、intro
import Tkinter
root = Tkinter.Tk()
root.mainloop()
2、widget组件
常用的widget有:Toplevel、 Label、 Button、Canvas、 Checkbutton、 Entry、 Frame、 LabelFrame、Listbox、 Menu、 Menubutton、 Message、 OptionMenu、
PaneWindow、 Radiobutton、 Scale、 Scrollbar、 Spinbox、Text、 Bitmap、 Image
属性:text,background... Button还有 command
设置属性参考:
import Tkinter
def labelmove():
global root
s = Tkinter.Label(root, text="hello kitty!")
s.pack()
root= Tkinter.Tk()
b1 = Tkinter.Button(root, text="click here",command=labelmove)
b1['background']='red'
b1.pack()
root.mainloop()
ps. Label的text更新方式:
label.config(text = "您没有选择任何文件")
3、layout布局(pack、grid、place)
pack:
Button(root, text="A").pack(side =LEFT, expand=YES, fill=Y)
grid:
# Entry代表输入框
# sticky(N,E,S,W)表示组件从哪个地方开始
Entry(root).grid(row=0,column=1,sticky=E)
place
4、event事件
1 事件绑定:bind
1.1 用法:窗体对象.bind(事件类型,回调函数)
eg:
import Tkinter
# 采用bind方法时,函数中一定要加event,否则会报错
def labelmove(event):
global root
s = Tkinter.Label(root, text="hello kitty!")
s.pack()
root= Tkinter.Tk()
b1 = Tkinter.Button(root, text="click here")
b1.bind(,labelmove)
b1.pack()
root.mainloop()
1.2 事件类型,eg:
1.3 bind_all用于全局快捷键,bind_class用于绑定一个类,eg:
root.bind_class("Entry", "", my_paste)
2 解除绑定: unbind
5、阶段性任务: 输入框及一个登陆程序
题目: 做一个登陆界面,输入账户和密码,密码显示为'*',