LabelFrame 标签框架
LabelFrame 类似 Frame,也是 tkinter 里可以用来放置其他元件的“框架”,比较不同的是,LabelFrame 默认会将放入的元件外面,加上一个标题,让这些元件变成类似“群组”的概念,这篇教学会介绍如何在 tkinter 视窗里加入 LabelFrame 标签框架。
快速导览:
因为 Google Colab 不支援 tkinter,所以请使用本机环境 ( 参考:使用 Python 虚拟环境 ) 或使用 Anaconda Jupyter 进行实作 ( 参考:使用 Anaconda )。
加入 LabelFrame 标签框架
建立 tkinter 视窗对象后,透过 LabelFrame 方法,就能在视窗对象中建立 LabelFrame 框架,必要的参数有两个,表示要加入的视窗对象,以及要显示的标题文字,建立 Frame 框架后再使用 pack() 方法将其加入 ( 参考 pack 参数设定 ),下方的程序码执行后,除了会加入一个 LabelFrame,还会在 Frame 中加入三个 Label ( 位置、大小和颜色都使用默认值 )。
import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
group = tk.LabelFrame(root, text='test', padx=10, pady=10)
group.pack()
a = tk.Label(group, text='AAA').pack()
b = tk.Label(group, text='BBB').pack()
c = tk.Label(group, text='CCC').pack()
root.mainloop()
LabelFrame 标签框架参数设定
加入 LabelFrame 之后,可以透过 LabelFrame 的参数调整内容的样式:
| 参数 | 说明 |
|---|---|
| padx | 内容和标签左右边界的间距 ( px ),默认 1。 |
| pady | 内容和标签上下边界的间距 ( px ),默认 1。 |
| bg/background | 背景颜色,可以使用十六进制色码或颜色名称。 |
| cursor | 鼠标移动到标签的样式,可以设定 arrow、circle、cross、plus...等,默认 arrow。 |
| relief | 边框样式,可以设定 flat、sunken、raised、groove、ridge、solid,默认 flat。 |
| bd/borderwidth | 边框粗细,默认 1。 |
搭配 gird() 进行变化
LabelFrame 类似于将内容的元件组合成一个大的元件,如果搭配 grid() 方法 ( 参考“Grid 格状版面布局” ),就能做出更多样的版面变化。
import tkinter as tk
root = tk.Tk()
root.title('oxxo.studio')
root.geometry('200x200')
g1 = tk.LabelFrame(root, text='G1', padx=10, pady=10, background='#0c9')
g1.grid(column=0, row=0, ipadx=10, ipady=10) # 使用 grid() 放置
a = tk.Label(g1, text='AAA').pack()
b = tk.Label(g1, text='BBB').pack()
c = tk.Label(g1, text='CCC').pack()
g2 = tk.LabelFrame(root, text='G2', padx=10, pady=10, background='#f90')
g2.grid(column=1, row=0, ipadx=10, ipady=10) # 使用 grid() 放置
x = tk.Label(g2, text='XXX').pack()
y = tk.Label(g2, text='YYY').pack()
z = tk.Label(g2, text='ZZZ').pack()
root.mainloop()
微信扫码关注
抖音扫码关注