[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(,labelmove)
b1.pack()

root.mainloop()

1.2 事件类型,eg:
表示鼠标左键单击,-3右键单击,-2鼠标中间键
表示A被摁下
表示Ctrl+v

1.3 bind_all用于全局快捷键,bind_class用于绑定一个类,eg:

root.bind_class("Entry", "", my_paste)

2 解除绑定: unbind

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

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

你可能感兴趣的:([Python] Tkinter 学习记录)