tkinter 组件
组件
说明
Button
按钮控件;在程序中显示按钮。
Canvas
画布控件;显示图形元素如线条或文本
Checkbutton
多选框控件;用于在程序中提供多项选择框
Entry
输入控件;用于显示简单的文本内容
Frame
框架控件;在屏幕上显示一个矩形区域,多用来作容器
Label
标签控件;可以显示文本和位图
Listbox
列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
Menubutton
菜单按钮控件,由于显示菜单项。
Menu
菜单控件;显示菜单栏,下拉菜单和弹出菜单
Message
消息控件;用来显示多行文本,与label比较类似
Radiobutton
单选按钮控件;显示一个单选的按钮状态
Scale
范围控件;显示一个数值刻度,为输出限定范围的数字区间
Scrollbar
滚动条控件,当内容超过可视化区域时使用,如列表框。
Text
文本控件;用于显示多行文本
Toplevel
容器控件;用来提供一个单独的对话框,和Frame比较类似
Spinbox
输入控件;与Entry类似,但是可以指定输入范围值
PanedWindow
PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。
LabelFrame
labelframe 是一个简单的容器控件。常用与复杂的窗口布局。
tkMessageBox
用于显示你应用程序的消息框
使用tkinter模块的基本步骤如下:
(1)导入tkinter模块
例如:
import tkinter
或
from tkinter import *
(2)创建一个顶层容器对象
例如:创建一个窗体对象
win = tkinter.Tk()
(3)在顶层容器对象中,添加其它组件;
(4)调用pack()方法进行容器的区域布局;
(5)进入主事件循环
win.mainloop()
当容器进入主事件循环状态时,容器内部的其他图形对象则处于循环等待状态,这样才能一直保持显示状态。
窗体容器和组件:
1. 窗体
窗体是带有标题、边框的一个顶层容器,在其内部可以添加其它组件。其外观如图所示:
设计一个窗体的主要步骤如下:
(1)导入tkinter包:
(2)创建窗体对象:
(3)设置窗体初始的大小(宽x高)和位置(x, y):
(4)设置事件循环,使窗体一直保持显示状态:
import tkinter
win = tkinter.Tk()
win.title('最简单的窗体')
win.geometry('宽x高+x坐标+y坐标')
win. mainloop()
2.标签
标签是用于窗体容器中显示文字内容的组件。标签的基本格式为:
label = tkinter.Label(容器名称, 显示文字或图像内容, 显示位置, 文字字体、颜色等)
例:
label=tkinter.Label(win,text='欢迎进入python世界!',font='宋体',fg='red')
按钮和事件处理
1.按钮对象
(1)按钮Button的常用属性
(2)创建按钮对象
创建按钮对象的方法为:
Btn = tkinter.Button(容器, text ="按钮上的文字")
由于按钮是一个普通组件,设计时必须放置到一个容器中。
2. 处理按钮事件
例:
import tkinter
win = tkinter.Tk()
win.title('Python')
win.geometry('300x300+100+100')
# 在窗体中添加标签
label=tkinter.Label(win,text='\n欢迎进入Python世界!\n\n',font='宋体',fg='red')
label.pack()
t1='\n\n少壮不努力,老大徒伤悲!'
def mClick():
label1=tkinter.Label(win,text=t1,font='黑体',fg='red')
label1.pack()
# 在窗体中添加按钮
btn = tkinter.Button(win,heigh=2,width=8,text ='点击我!',fg='green',command=mClick) #command用于调用事件函数mClick
btn.pack()
win. mainloop()
结果:
界面布局管理
Python定义了3种界面布局管理方式。
1. pack布局
pack布局管理方式按组件的创建顺序在容器区域中排列。
pack的常用属性有side和fill:
- side属性:其取值为'top'、'bottom'、'left'、'right',分别表示组件排列在上、下、左、右的位置。默认为top。
- fill属性:其取值为'x'、'y'、'both',分别表示填充x(水平)或y(垂直)方向的空间。
2. place布局
place布局管理方式为指定组件的坐标位置排列,这种排列方式又称为绝对布局。
3. grid布局
grid布局管理方式为网格布局,组件放置在二维表格的单元格中。
grid布局的常用属性有:row(行)、column(列)、rowspan(组件占据行数)、columnspan(组件占据列数)。
文本框组件
在Python中,文本框Entry用于接收输入的数据。文本框Entry的基本格式为:
txt = tkinter.Entry(容器名称,width=宽度, 文字字体、颜色等)