The Tkinter LabelFrame Widget
LabelFrame 组件是 Frame 组件的变体。默认情况下,LabelFrame 会在其子组件的周围绘制一个边框以及一个标题。
何时使用 LabelFrame 组件?
当你想要将一些相关的组件分为一组的时候,可以使用 LabelFrame 组件,比如一系列 Radiobutton(单选按钮)组件。
用法
为组件分组,需要先创建一个 LabelFrame,然后像往常一样将子组件添加进去。LabelFrame 组件会自动绘制一个边框将子组件包围起来,并在它们上方显示一个文本标题。
1. from tkinter import *
2.
3. master = Tk()
4.
5. group = LabelFrame(master, text="你从哪里得知鱼C?", padx=5, pady=5)
6. group.pack(padx=10, pady=10)
7.
8. v = IntVar()
9. r1 = Radiobutton(group, text="同学/同事介绍", variable=v, value=1).pack(anchor=W)
10. r2 = Radiobutton(group, text="老婆大人介绍", variable=v,value=2).pack(anchor=W)
11. r3 = Radiobutton(group, text="老师/学长介绍", variable=v, value=3).pack(anchor=W)
12.
13. mainloop()
你还可以通过选项定义如何绘制标签和边界,请看下边详细说明。
参数
LabelFrame(master=None, **options)(class)
master -- 父组件
**options -- 组件选项,下方表格详细列举了各个选项的具体含义和用法:
选项 | 含义 |
background | 1. 设置 LabelFrame 组件的背景颜色 |
bg | 跟 background 一样 |
borderwidth | 1. 指定 LabelFrame 的边框宽度 |
bd | 跟 borderwidth 一样 |
class | 默认值是 LabelFrame |
colormap | 1. 有些显示器只支持 256 色(有些可能更少),这种显示器通常提供一个颜色映射来指定要使用要使用的 256 种颜色 |
container | 1. 该选项如果为 True,意味着该窗口将被用作容器,一些其它应用程序将被嵌入 |
cursor | 1. 指定当鼠标在 LabelFrame 上飘过的时候的鼠标样式 |
foreground | 1. 设置 LabelFrame 的文本颜色 |
fg | 跟 foreground 一样 |
font | 1. 指定 LabelFrame 中文本的字体 |
height | 1. 设置 LabelFrame 的高度 |
highlightbackground | 1. 指定当 LabelFrame 没有获得焦点的时候高亮边框的颜色 |
highlightcolor | 1. 指定当 LabelFrame 获得焦点的时候高亮边框的颜色 |
highlightthickness | 1. 指定高亮边框的宽度 |
labelanchor | 1. 控制文本在 LabelFrame 的显示位置 |
labelwidget | 1. 指定一个组件替代默认的文本 Label |
padx | 1. 指定 FrameLabel 水平方向上的额外间距(内容和边框间) |
pady | 1. 指定 FrameLabel 垂直方向上的额外间距(内容和边框间) |
relief | 1. 指定边框样式 |
takefocus | 1. 指定该组件是否接受输入焦点(用户可以通过 tab 键将焦点转移上来) |
text | 1. 指定 LabelFrame 显示的文本 |
visual | 1. 为新窗口指定视觉信息 |
width | 1. 设置 LabelFrame 的宽度 |