Python学习笔记--基础篇6
图形用户界面
Tkinter模块
Tkinter模块是python自带的,用于创建窗口、按钮、菜单、文本框、复选框等插件。
Tkinter小插件
插件 | 说明 |
Button | 可点击的按钮 |
Canvas | 用于绘制或显示图形图像的区域 |
Checkbutton | 可点击的框,其状态可以是选定的或未选定的 |
Entry | 可供用户输入数据的单行文本框 |
Frame | 用于承载其他小插件的容器 |
Label | 用于显示文本的单个行 |
Listbox | 可供用户选择的下拉列表 |
Menu | 下拉菜单 |
Message | 用于显示文本的多个行 |
Menubutton | 下拉菜单的菜单项 |
Text | 可供用户输入数据的多行文本框 |
TopLevel | 额外的窗口 |
from Tkinter import *
window = Tk()
label = Label(window, text = "This is our label.")
label.pack()
window.mainloop()
GUI开发工作是向根窗口上添加插件,例如Label,在创建它的时候,必须要指定其父插件。Label有一个叫做pack的方法(别的插件也一样),它用于将该插件置入其父插件中,并告诉父插件要根据实际情况改变其大小。如果忘记调用该方法,则子插件要么显示不出来,要么显示不正确。
可变的变量
由于Python中的字符串、整数、浮点数以及布尔值都是不可变的,于是Tkinter自带了一些类型;他们可以就地更新,并可以在其值发生改变时通知相关的插件。
Tkinter中的可变类型
不可变类型 | 说明 |
int | IntVar |
string | StringVar |
bool | BooleanVar |
double | DoubleVar |
from Tkinter import *
window = Tk()
data = StringVar()
data.set("Data to display")
label = Label(window, textvariable=data)
label.pack()
window.mainloop()
Tkinter可变类型的值是通过set和get方法来设置和获取的。注意,设置的是Label的textvariable属性,而不是text属性。同时,由于Tkinter模块的组织形式,在调用Tk()函数创建出顶层窗口之前,无法创建出StringVar(以及其他的可变变量)。
from Tkinter import *
de