Tkinter 組件詳解之LabelFrame
LabelFrame 組件是 Frame 組件的變體。默認情況下,LabelFrame 會在其子組件的周圍繪制一個邊框以及一個標題。
何時使用 LabelFrame 組件?
當你想要將一些相關的組件分為一組的時候,可以使用 LabelFrame 組件,比如一系列 Radiobutton(單選按鈕)組件。
用法
為組件分組,需要先創建一個 LabelFrame,然后像往常一樣將子組件添加進去。LabelFrame 組件會自動繪制一個邊框將子組件包圍起來,並在它們上方顯示一個文本標題。
import tkinter as tk master = tk.Tk() group = tk.LabelFrame(master, text="你從哪里得知CSDN?", padx=5, pady=5) group.pack(padx=10, pady=10) v = tk.IntVar() r1 = tk.Radiobutton(group, text="同學/同事介紹", variable=v, value=1).pack(anchor="w") r2 = tk.Radiobutton(group, text="老婆大人介紹", variable=v, value=2).pack(anchor="w") r3 = tk.Radiobutton(group, text="老師/學長介紹", variable=v, value=3).pack(anchor="w") master.mainloop()
你還可以通過選項定義如何繪制標簽和邊界,請看下邊詳細說明。
參數
LabelFrame(master=None, **options) (class)
master -- 父組件
**options -- 組件選項,下方表格詳細列舉了各個選項的具體含義和用法:
選項 含義
background
1. 設置 LabelFrame 組件的背景顏色
2. 默認值由系統指定
3. 為了防止更新,可以將顏色值設置為空字符串
bg 跟 background 一樣
borderwidth
1. 指定 LabelFrame 的邊框寬度
2. 默認值是 2 像素
bd 跟 borderwidth 一樣
class 默認值是 LabelFrame
colormap
1. 有些顯示器只支持 256 色(有些可能更少),這種顯示器通常提供一個顏色映射來指定要使用要使用的 256 種顏色
2. 該選項允許你指定用於該組件以及其子組件的顏色映射
3. 默認情況下,Frame 使用與其父組件相同的顏色映射
4. 使用此選項,你可以使用其他窗口的顏色映射代替(兩窗口必須位於同個屏幕並且具有相同的視覺特性)
5. 你也可以直接使用 "new" 為 Frame 組件分配一個新的顏色映射
6. 一旦創建 Frame 組件實例,你就無法修改這個選項的值
container
1. 該選項如果為 True,意味着該窗口將被用作容器,一些其它應用程序將被嵌入
2. 默認值是 False
cursor
1. 指定當鼠標在 LabelFrame 上飄過的時候的鼠標樣式
2. 默認值由系統指定
foreground
1. 設置 LabelFrame 的文本顏色
2. 默認值由系統指定
fg 跟 foreground 一樣
font
1. 指定 LabelFrame 中文本的字體
2. 默認值由系統指定
height
1. 設置 LabelFrame 的高度
2. 單位是像素
highlightbackground
1. 指定當 LabelFrame 沒有獲得焦點的時候高亮邊框的顏色
2. 默認值由系統指定,通常是標准背景顏色
highlightcolor
1. 指定當 LabelFrame 獲得焦點的時候高亮邊框的顏色
2. 默認值由系統指定
highlightthickness
1. 指定高亮邊框的寬度
2. 默認值是 1 或 2 像素
labelanchor
1. 控制文本在 LabelFrame 的顯示位置
2. "n", "ne", "e", "se", "s", "sw", "w", "nw", 或 "center" 來定位(ewsn代表東西南北,上北下南左西右東)
3. 默認值是 NW
labelwidget
1. 指定一個組件替代默認的文本 Label
2. 如果同時設置此選項和 text 選項,則忽略 text 選項的內容
padx
1. 指定 FrameLabel 水平方向上的額外間距(內容和邊框間)
2. 默認值是 0
pady
1. 指定 FrameLabel 垂直方向上的額外間距(內容和邊框間)
2. 默認值是 0
relief
1. 指定邊框樣式
2. 默認值是 "groove"
3. 另外你還可以設置 "flat","sunken","raised" 或 "ridge"
4. 注意,如果你要設置邊框樣式,記得設置 borderwidth 或 bd 選項不為 0,才能看到邊框
takefocus
1. 指定該組件是否接受輸入焦點(用戶可以通過 tab 鍵將焦點轉移上來)
2. 默認值是 False
text
1. 指定 LabelFrame 顯示的文本
2. 文本可以包含換行符
visual
1. 為新窗口指定視覺信息
2. 該選項沒有默認值
width
1. 設置 LabelFrame 的寬度
2. 默認值是 0
原文鏈接:https://blog.csdn.net/qq_41556318/article/details/85108316