一、学习目标
1.GUI库
2.Tkinter库
3.导入Tkinter库
4.4.Tkinter窗口中显示中文
5.Tkinter 组件
二、重点知识
1.GUI库
GU1(Graphical User Interface,图形用户界面)是指采用图形方式显示的计算机操作用户界面。例如,运行Python 的 IDLE就是一种GUI,生活中登录网页的浏览器也是一种GUI,所以GUI应用广泛,可以实现可视化编程。
2.Tkinter库
Tkinter是 Python的标准GUI库,Python 使用 Tkinter 可以创建完整的GUI程序。在Tkinter中,可以直接使用命令按钮、文本框、标签、单选按钮等组件进行GUI编程,实现可视化效果。
3.导入Tkinter库
Tkinter库是 Python 安装包中内置的库,所以只要安装好 Python之后就能直接导入,而且运行Python的 IDLE(集成开发环境)也是用Tkinter编写而成的。导入 Tkinter库,直接借助命令import tkinter(全部小写字母)即可实现。
4.Tkinter窗口中显示中文
如果需要在组件中显示中文,则需要在编写的程序中首行添加“#-* - coding: UTF-8-*-”,用来指明字符编码为UTF-8格式。
5.Tkinter 组件
用 Tkinter创建的窗口如同一个容器,可以根据需要添加各种组件,便于使用。Tkinter 包含15种核心组件,用以实现不同的功能。各种组件及含义如表5-1所示。
控件 | 含义 |
---|---|
Button | 按钮控件,用于显示按钮 |
Canvas | 画布控件,显示图形元素,例如线条或文本 |
Checkbutton | 多选框控件,用于在程序中提供多项选择框 |
Entry | 输入控件,用于显示简单的文本内容 |
Frame | 框架控件,在屏幕上显示一个矩形区域,多用来作为容器 |
Label | 标签控件,可以显示文本或位图 |
Listbox | 列表框控件,用来显示一个选择列表 |
Menubutton | 菜单按钮控件,用于显示菜单项 |
Menu | 菜单控件,显示菜单栏、下拉菜单和弹出菜单 |
Message | 消息控件,用来显示多行文本,与Label类似 |
Radiobutton | 单选按钮控件,显示一个单选的按钮状态 |
Scale | 范围控件,显示一个数值刻度,用于设置输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用,例如列表框 |
Text | 文本控件,用于显示多行文本 |
Toplevel | 容器控件,用来提供一个单独的对话框,和Frame类似 |
Spinbox | 输入控件,与Entry 类似,但是可以指定输入范围值 |
PanedWindow | 窗口布局管理插件,可以包含一个或者多个子控件 |
LabelFrame | 简单的容器控件,常用于复杂的窗口布局 |
tkMessageBox | 用于显示应用程序的消息框 |
三、实际运用
1.常用 Tkinter 组件
(1)按钮
Tkinter按钮组件用于在 Python应用程序中添加按钮,按钮上可以是文本或图像,按钮可用于监听用户的行为,使用tkinter,Button可以创建按钮。按钮的常用属性有前景、背景颜色、高度、宽度、文本内容等。
按钮控件的常用参数及含义如图:
参数 | 含义 |
---|---|
activebackground | 当鼠标放上去时,按钮的背景色 |
activeforeground | 当鼠标放上去时,按钮的前景色 |
anchor | 控制文本的位置,默认为中心 |
bd | 按钮边框的大小,默认为 2像素 |
bg | 指定按钮的背景颜色 |
command | 按钮关联的函数,当按钮被单击时,执行该函数 |
fg | 按钮的前景色(按钮文本的颜色) |
font | 文本字体 |
height | 按钮的高度 |
image | 按钮上要显示的图片 |
state | 设置按钮组件状态,可选的有NORMAL、ACTIVE、DISAB |
underline | 下画线。默认按钮上的文本都不带下画线。取值表示带下画线的字符串位置索引,例如为0时,第一个字符带下画线;为1时,前两个字符带下画线,以此类推 |
width | 按钮的宽度,如未设置此项,其大小自动适应按钮的内容(文本或图片的大小) |
wraplength | 限制按钮每行显示的字符数量 |
text | 按钮的文本内容 |
1)Tkinter按钮组件的使用
import tkinter
root = tkinter.Tk()
def hello_click():
your_button = tkinter.Button(root,anchor = tkinter.N,
text = '单击确定时的显示按钮',
bd = 3,
underline = 3,
activebackground = 'green',
fg = 'red')
your_button.pack()
my_button = tkinter.Button(root,anchor = tkinter.E,
text = '确定',
bg = 'red',
width = 4,
height = 3,
command = hello_click)
my_button.pack()
root.mainloop()
运行结果
2)Tkinter标签组件的使用
import tkinter
root = tkinter.Tk()
def hello_click():
my_label = tkinter.Label(root,anchor = tkinter.W,
text = '小标签',
bd = 3,
bg = 'yellow',
height = 3,
width = 20,
fg = 'green')
my_label.pack()
my_button = tkinter.Button(root,anchor = tkinter.E,
text = '单击按钮,显示标签',
bg = 'green',
width = 20,
height = 3,
command = hello_click)
my_button.pack()
root.mainloop(