[Python] Tkinter 学习记录

参考资料:辛星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(<Button-1>,labelmove)
b1.pack()

root.mainloop()

1.2 事件类型,eg:
<Button-1>表示鼠标左键单击,-3右键单击,-2鼠标中间键
<KeyPress-A>表示A被摁下
<Control-V>表示Ctrl+v
<F1>
1.3 bind_all用于全局快捷键,bind_class用于绑定一个类,eg:

root.bind_class("Entry", "<Control-V>", my_paste)

2 解除绑定: unbind

5、阶段性任务: 输入框及一个登陆程序

题目: 做一个登陆界面,输入账户和密码,密码显示为'*',

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容