1. GUI介绍
- GraphicalUserInterface
- GUI for python : Tkinter, wxPython, PyQt
- Tkinter
- 绑定的是 TK GUI工具集,用Python包装的Tcl代码
- PYGTK
- Tkinter的替代品
- wxPython
- 跨平台的Python GUI
- PyQt
- 跨平台的
- 商业授权可能有问题

2.
1. 测试Tkinter的包好不好用
import tkinter
tkinter._test()

2. 做一个hello world


是因为它有一个消息机制,这个消息机制通过 mainloop()
启动

3. Tkinter 常用组件
- 按钮

- 文本输入组件

- 标签

- 菜单

- 滚动条

- 其他组件

1. Label 例子

2. 组件的大致使用步骤

3. 设置Label的例子

4. 设置button的例子


!!! 注意啊!!!
那个command = showLabel 这个showLabel后面函数没有括号!!没有括号!!
5. button的属性

4. 组件布局
-
三种布局
- pack:按照方位布局
-
-
-
grid
Entry 表示“输入框” -
place
- pack:按照方位布局
-
5. 消息机制
-
消息传递机制
-
消息格式
1.我们在使用 bind 函数的时候,它的第一个参数就是事件 的类型了。
2.表示鼠标左键单击,其中的 1 换成 3 表示右 键被单击,为 2 的时候表示鼠标中键,感觉不算常用。
3.表示 A 键被按下,其中的 A 可以换成其他的键位。
4.表示按下的是 Ctrl 和 V 键,V 可以换成其他键位。
5.表示按下的是 F1 键,对于 Fn 系列的,都可以随便换。
- < Control-Shift-KeyPress-A >:同时按下三个键位

- 事件的简单例子


6. Tkinter的绑定

7. Entry

- 输入框举例


import tkinter
def reg():
#从相应输入框中,得到用户的输入
name = e1.get()
pwd = e2.get()
t1 = len(name)
t2 = len(pwd)
if name =="111" and pwd == "222":
lb3["text"] = "登陆成功"
else:
lb3["text"] = "用户名或密码输入错误"
e1.delete(0,t1)
e2.delete(0,t2)
baseFrame = tkinter.Tk()
lb1 = tkinter.Label(baseFrame,text = "用户名")
lb1.grid(row = 0,column = 0,sticky = tkinter.W)
e1 = tkinter.Entry(baseFrame)
e1.grid(row = 0,column = 1,sticky = tkinter.E)
lb2 = tkinter.Label(baseFrame,text = "密码")
lb2.grid(row = 1,column = 0,sticky = tkinter.W)
e2 = tkinter.Entry(baseFrame)
e2.grid(row = 1,column = 1,sticky = tkinter.E)
e2['show'] = "*"
btn = tkinter.Button(baseFrame,text = "登录",command = reg)
btn.grid(row = 2,column = 1,sticky = tkinter.E)
lb3 = tkinter.Label(baseFrame,text = "")
lb3.grid(row = 3)
baseFrame.mainloop()