组件的布局
- tkinter组件
- 标准属性
- Label组件
- Button组件
- 单行文本框Entry和多行文本框Text
- 创建和显示Entry对象
- 获取Entry组件的内容
- Entry的常用属性
- 参考文献
tkinter组件
Tkinter组件
组件 | 描述 |
Button | 按钮控件:在程序中显示按钮 |
Canvas | 画布控件:显示图形元素,如:线条或文本 |
Checkbutton | 多选框控件:用于在程序中提供多项选择框 |
Entry | 输入空间:用于显示简单的文本内容 |
Frame | 框架控件:可以显示文本和位图 |
Label | 标签控件:可以显示文本位图 |
Listbox | 列表框控件:Listbox窗口小部件,用来显示一个字符串列表给用户 |
Menubutton | 菜单按钮控件:用于显示菜单项 |
Menu | 菜单空间:显示菜单栏、下拉菜单和弹出菜单 |
Message | 消息控件:用来显示多行文本与Label比较类似 |
Radiobutton | 单选按钮控件:显示一个单选按钮的状态 |
Scale | 范围控件:显示一个数值刻度,为输出限定范围的数字区间 |
Scrollbar | 滚动条控件,当内容超过可视化区域时使用 |
Text | 文本空间,用于显示多行文本 |
Toplevel | 容器控件,用来提供一个单独的对话框,与Frame比较类似 |
Spinbox | 输入控件:与Entry类似,但是可以包含一个或者多个控件 |
PanelWindow | 窗口布局管理的插件:可以包含一个或者多个子控件 |
LabelFrame | 简单的答题控件:常用与复杂的窗口布局 |
tkMessageBox | 用于显示应用程序的消息框 |
标准属性
组件的标准属性就是所有组件的共同属性。
属性 | 描述 |
dimension | 控件大小 |
color | 控件颜色 |
font | 控件字体 |
anchor | 锚点(内容停靠位置),对应于东南西北以及四个角 |
relief | 控件样式 |
bitmap | 位图 |
cursor | 光标 |
text | 显示文本内容 |
state | 设置组价状态,正常(normal)、激活(active)、禁用(disabled) |
Label组件
label组件常用的属性
属性 | 说明 |
width | 宽度 |
height | 高度 |
compound | 指定文本与图像如何在Label上显示,默认为None。当指定image/bitmap时,文本(text)将被覆盖,只显示图像。可以使用的值如下:left,图像居左;right,图像居右;top,图像居上;bottom,图像居下;center,文字覆盖于图像之上 |
wraplength | 指定多少单位后开始换行,用于多行显示文本 |
justify | 指定多行的对齐方式,可以使用的值为left(左对齐)或right(右对齐) |
anchor | 指定文本或图像在label中的显示位置。对应于东南西北四个角,可用值如下:e,w,n,s,ne,se,sw,nw,center(默认值) |
image和bm | 显示自定义图片,如:png,tif |
bitmap | 显示内置的位图 |
Button组件
按钮可以包含文本或图像,可以通过command属性将调用的python函数或方法关联到按钮上。该按钮可以只显示一个单一字体的文本,但文本可能跨越一个以上的行。此外一个字符可以有下画线。
Tkinter Button组件属性
属性 | 功能描述 |
text | 显示文本内容 |
command | 指定Button的时间处理函数 |
compound | 置顶文本与图像的位置关系 |
bitmap | 指定位图 |
focus_set | 设置当前组件得到的焦点 |
master | 代表父窗口 |
bg | 代表背景窗口 |
fg | 设置前景颜色 |
font | 设置字体 |
height | 设置显示高度,如果未设置此项,其大小以适应内容标签为宜 |
wraplength | 将此选项设置为所需的数量限制每行的字符数,默认为0 |
state | 设置组件状态:正常(normal),激活(active),禁用(disabled) |
anchor | 设置Button文本在控件上的显示位置,可用值:n(north),s(south),w(west),e(east),ne,we,se,sw |
textvariable | 设置Button可变的文本内容对应变量 |
Tkinter Button组件方法
方法 | 描述 |
flash() | 按钮在active color and normal color颜色之间闪烁几次,disabled表示状态无效 |
invoke() | 调用按钮command指定的回调函数 |
def callback():
showinfo("Python command", "人生苦短,我用Python")
root = Tk()
root.title("Button Test")
Button(root, text="外观装饰边界附近的标签", width=19, relief=GROOVE, bg="red").pack()
Button(root, text="设置按钮状态", width=21, state=DISABLED).pack()
Button(root, text="设置bitmap放到按钮左边位置", compound="left", bitmap="error").pack()
Button(root, text="设置command事件调用命令", fg="blue", bd=2, width=28, command=callback()).pack()
Button(root, text="设置高度及宽度以及文字显示位置", anchor='sw', width=30, height=2).pack()
root.mainloop()
单行文本框Entry和多行文本框Text
Entry主要用于输入单行内容和显示文本。
创建和显示Entry对象
创建Entry对象的基本方法如下:
Entry对象=Entry(windows窗口对象)
获取Entry组件的内容
其中get()方法用于获取单行文本框内输入的内容。
Entry的常用属性
属性 | 用法 |
show | 如果设置为字符*,则输入文本框内显示为*,用于密码输入 |
insertbackground | 插入光标的颜色,默认为黑色 |
selectbackground和selectforeground | 选中文本的背景色与前景色 |
width | 组件的宽度(所占的字符数) |
fg | 字体的前景颜色 |
bg | 背景颜色 |
state | 设置组件状态,默认为normal,可设置为disabled(禁用组件),readonly(只读)。 |
设置或者获取Entry组件内容也可以使用StringVar()对象来完成,把Entry的textvariable属性设置为StringVar()变量,再通过StringVar()变量的get()和set()函数可以读取和输出相应文本内容。
import tkinter as tk
root = tk.Tk()
s = tk.StringVar()
s.set('大家好,这是测试')
entryCd = tk.Entry(root, textvariable=s)
entryCd.pack()
print(s.get())
root.mainloop()
参考文献
夏敏捷等. python程序设计从基础开发到数据设计. 清华大学出版社,2019.