Python Tkinter Label 使用步驟示例詳解
前言
Tkinter 的 Label 是用于顯示文本、圖像或同時顯示圖文的基礎(chǔ)組件,不可直接編輯,常用來展示提示信息、標題、靜態(tài)內(nèi)容等,是 GUI 界面中最常用的組件之一。
一、核心使用步驟(基礎(chǔ)示例)
使用 Label 需遵循導(dǎo)入模塊→創(chuàng)建主窗口→實例化 Label→布局顯示的核心流程
# 1. 導(dǎo)入tkinter模塊(Python3 統(tǒng)一為tkinter,Python2為Tkinter)
import tkinter as tk
# 2. 創(chuàng)建主窗口對象(GUI程序的根容器)
root = tk.Tk()
root.title("Label基礎(chǔ)使用") # 設(shè)置窗口標題
root.geometry("300x200") # 設(shè)置窗口大?。簩抶高(像素)
# 3. 實例化Label組件,綁定到主窗口
# 最基礎(chǔ)用法:指定父容器(master)和顯示文本(text)
label = tk.Label(
master=root, # 必選:指定Label所屬的父容器(此處為主窗口root)
text="Hello Tkinter Label!" # 核心參數(shù):要顯示的文本
)
# 4. 布局顯示Label(關(guān)鍵:tkinter組件必須通過布局管理器顯示,否則不可見)
label.pack() # 簡單布局,自動居中適配
# 5. 啟動主事件循環(huán)(讓窗口保持運行,等待用戶操作)
root.mainloop()二、Label 核心常用參數(shù)
| 參數(shù) | 作用 | 示例 |
|---|---|---|
| master | 必選,指定父容器(窗口 / 框架 Frame 等) | master=root |
| text | 顯示的文本內(nèi)容,支持\n換行 | text=“第一行\(zhòng)n第二行文本” |
| font | 字體配置,格式(字體名, 字號, 樣式),樣式可選bold(粗體)/italic(斜體) | font=(“微軟雅黑”, 12, “bold”) |
| fg | 前景色(文本顏色),支持英文色名 / 十六進制 | fg=“red” 或 fg=“#FF0000” |
| bg | 背景色(Label 組件的底色) | bg=“lightgray” 或 bg=“#F5F5F5” |
| width | 組件寬度,文本組件按字符數(shù)計算,圖像組件按像素 | width=20(顯示 20 個字符寬度) |
| height | 組件高度,文本組件按字符行數(shù)計算,圖像組件按像素 | height=3(顯示 3 行字符高度) |
| anchor | 內(nèi)容對齊方式,基于方位詞:N (上)、S (下)、E (右)、W (左)、CENTER (中),可組合(如 NE = 右上) | anchor=“w”(左對齊) |
| padx/pady | 組件內(nèi)邊距,x/y 方向的空白區(qū)域(像素),避免內(nèi)容貼邊 | padx=10, pady=5 |
| image | 顯示的圖像,需配合PhotoImage加載(支持 png/gif,不直接支持 jpg,需額外處理) | 顯示圖像」示例 |
| compound | 圖文混排時的位置,可選:left/right/top/bottom/center(圖像在文本的對應(yīng)方位) | compound=“left”(圖像在左,文本在右) |
三、tkinter 三種布局管理器(Label 顯示必備)
tkinter 組件(包括 Label)必須通過布局管理器添加到父容器,否則不會顯示,核心有 3 種布局,各有適用場景:
- pack ():簡單快速,自動適配
適用場景:快速布局、組件上下 / 左右排列,無需精確控制位置
# 兩個Label上下排列,左對齊 label1 = tk.Label(root, text="第一個Label", fg="blue") label2 = tk.Label(root, text="第二個Label", fg="green") label1.pack(anchor="w", padx=10, pady=5) # 左對齊,x/y內(nèi)邊距 label2.pack(anchor="w", padx=10)
- grid ():網(wǎng)格布局,精確行列控制
適用場景:需要按「行 + 列」精確排列組件(如表單、數(shù)據(jù)展示),支持跨行 / 跨列。
核心參數(shù):row(行號,從 0 開始)、column(列號,從 0 開始)、rowspan(跨行數(shù))、columnspan(跨列數(shù))。
# 3行2列的Label網(wǎng)格,帶內(nèi)邊距 tk.Label(root, text="行0列0", bg="pink").grid(row=0, column=0, padx=5, pady=5) tk.Label(root, text="行0列1", bg="pink").grid(row=0, column=1, padx=5, pady=5) tk.Label(root, text="行1列0(跨2列)", bg="lightblue").grid(row=1, column=0, columnspan=2, padx=5, pady=5) tk.Label(root, text="行2列0", bg="lightgreen").grid(row=2, column=0, padx=5, pady=5) tk.Label(root, text="行2列1", bg="lightgreen").grid(row=2, column=1, padx=5, pady=5)
- place ():絕對定位,精確坐標控制
適用場景:需要按「像素坐標」精確控制組件位置,適合定制化界面(缺點:窗口縮放時組件位置不會自動適配)。
核心參數(shù):x(距父容器左邊界的像素)、y(距父容器上邊界的像素)、relx/rely(相對坐標,0~1,基于父容器大?。?。
# 絕對坐標:x=50,y=30;相對坐標:relx=0.5(水平居中),rely=0.6(垂直60%位置) label1 = tk.Label(root, text="絕對定位(50,30)", bg="yellow") label2 = tk.Label(root, text="相對定位(居中)", bg="orange") label1.place(x=50, y=30) # 絕對坐標 label2.place(relx=0.5, rely=0.6, anchor="center") # 相對坐標+居中對齊
四、進階用法:顯示圖像 / 圖文混排
- 僅顯示圖像(支持 png/gif)
tkinter 內(nèi)置 PhotoImage 用于加載圖像,注意:變量需保持引用(不可匿名),否則圖像會被垃圾回收導(dǎo)致不顯示:
import tkinter as tk
root = tk.Tk()
root.title("Label顯示圖像")
# 加載圖像(支持png/gif,路徑可為絕對路徑/相對路徑)
# 關(guān)鍵:img變量必須保留,不能寫成 tk.PhotoImage(file="logo.png")
img = tk.PhotoImage(file="logo.png") # 替換為你的圖像路徑
# 實例化Label,指定image參數(shù)
img_label = tk.Label(root, image=img, width=100, height=100)
img_label.pack(pady=20)
root.mainloop()- 圖文混排(圖像 + 文本)
通過 compound 參數(shù)控制圖像和文本的相對位置,結(jié)合 text 和 image 參數(shù)實現(xiàn):
import tkinter as tk
root = tk.Tk()
root.title("Label圖文混排")
# 加載圖像
img = tk.PhotoImage(file="icon.png")
# 圖文混排:圖像在左,文本在右,字體加粗,帶內(nèi)邊距
mix_label = tk.Label(
root,
image=img,
text="Python Tkinter\n圖文混排示例",
font=("宋體", 11, "bold"),
compound="left", # 圖像在左,可選:right/top/bottom/center
padx=10,
pady=8,
fg="#333333"
)
mix_label.pack()
root.mainloop()到此這篇關(guān)于Python Tkinter Label 使用的文章就介紹到這了,更多相關(guān)Python Tkinter Label 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Python批量壓縮png方法實例(支持過濾個別文件與文件夾)
這篇文章主要給大家介紹了關(guān)于利用Python批量壓縮png的相關(guān)資料,文中介紹的方法支持過濾個別文件與文件夾,文中通過示例代碼介紹的非常詳細,需要的朋友們下面跟著小編來一起看看吧。2017-07-07
使用python監(jiān)測網(wǎng)絡(luò)連接和網(wǎng)速的實現(xiàn)代碼
在我們?nèi)粘I钪芯W(wǎng)絡(luò)連接和網(wǎng)速在工作中非常重要,本文將介紹如何使用Python程序來監(jiān)測互聯(lián)網(wǎng)連接的速度和中斷情況,并通過代碼示例講解的非常詳細,需要的朋友可以參考下2024-03-03
python自動循環(huán)定時開關(guān)機(非重啟)測試
這篇文章主要為大家詳細介紹了python自動循環(huán)定時開關(guān)機(非重啟)測試,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08
Python實現(xiàn)向PPT中插入表格與圖片的方法詳解
這篇文章將帶大家學(xué)習(xí)一下如何在PPT中插入表格與圖片以及在表格中插入內(nèi)容,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-05-05
Python正則表達re模塊之findall()函數(shù)詳解
在python中,通過內(nèi)嵌集成re模塊可以直接調(diào)用來實現(xiàn)正則匹配,其中re.findall()函數(shù)可以遍歷匹配,可以獲取字符串中所有匹配的字符串,返回一個列表,這篇文章主要給大家介紹了關(guān)于Python正則表達re模塊之findall()函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-07-07
python實現(xiàn)批量監(jiān)控網(wǎng)站
本文給大家分享的是一個非常實用的,python實現(xiàn)多網(wǎng)站的可用性監(jiān)控的腳本,并附上核心點解釋,有相同需求的小伙伴可以參考下2016-09-09

