Label 控制元件
在 Tkinter 中, Label 控制元件用以顯示文字和圖片. Label 通常被用來展示資訊, 而非與使用者互動. (注: Label 也可以繫結點選等事件, 只是通常不這麼用).

import tkinter as tk

# 建立視窗物件
root = tk.Tk()
#建立標籤元件並繫結父元件root
label = tk.Label(root, text="Hello, world!")
# 將label小部件放置到主視窗中
label.pack()
#進入訊息迴圈
root.mainloop()

在這裡插入圖片描述
語法
lb = Label(master=None,**options)(class)
master – 父元件,在我們這個例子裡就是上面的 root 控制元件. 因此這個 Label 控制元件是上面的 root 控制元件的一個子控制元件.
**option – 元件選項

常用元件選項講解:
text : 指定文字,文字可包含換行符,如果設定image bitmap,則該選項被忽略。

image : ,指定影象,該值應該是PhotoImage,BitmapImage或者能相容的物件,該選項優先於text,bitmap。

textvariable : Label顯示Tkinter變數-StringVar,如果該變數被修改,Label文字(text)將自動更新。

bacjground<==>bg : 設定背景色

foreground<==>fg :設定前景色

font : 指定字型樣式,預設由系統指定,如指定:font=(“微軟雅黑”,10)

height : 設定Label的高度, 如果Label是文字,則單位是文字單位,否則為畫素,如果為0或者預設,則自動根據Label計算。

width : 設定Label的寬度,如果Label是文字,則單位為文字單位,否則為畫素,如果為0或者預設,則自動根據Label計算。

anchor : 控制文字或者影象在label中的顯示位置,可選:N,NE,E,SE,S,SW,W,NW,CENTER(EWSN表示東西南北)等,預設值CENTER。

justify : 定義對齊方式,可選:LEFT,RIGHT,CENTER, 預設值為CENTER,注意文字位置取決於anchor選項。

activebackground : 設定活動狀態時的背景色

activeforeground : 設定活動狀態時的前景色

bitmap : 指定顯示到label上的點陣圖,如果指定了image,則該選項忽略。

borderwidth : 指定邊框寬度,預設值由系統指定,通常1或者2畫素。

compound : 文字和影象混合模式,預設情況下,如果指定點陣圖和圖片,則不顯示文字,選項設定為CENTER,則文字顯示在影象上,如果設定為BOTTOM,LEFT,RIGHT,TOP,那麼影象顯示在文字的旁邊,(BOTTON則影象在文字的下方),預設值是NONE。

cursor : 指定當前滑鼠在Label上飄過的時候的滑鼠樣式,預設系統指定。

disbledforeground : 指定Label不可用時的前景色,預設系統指定。

highightbackground : 指定當Label沒有獲得焦點時的高亮邊框顏色,預設系統指定。

highlightcolor : 當Label獲得焦點時的高亮邊框顏色,預設系統指定。

highlightthickness : 指定高亮邊框的寬度,預設值是0。

padx : 1.x軸間距(畫素)
pady : 1.y軸間距(畫素)

relief : 指定邊框樣式,預設值是FLAT,可以設定為:SUNKEN,RAISED,GROOVE,RIDGE。

state : 指定Label的狀態,即如何顯示Label標籤,預設值是NORAML,可設定為:ACTIVE DISABLED。

takefocus : 如果是True,該Label接收輸入焦點,預設值為False。

underline : 與text選項一起使用,使用者指定那個字元畫下劃線,預設值是-1,如果設定為1,則從第二個字元出畫下劃線。

wraplength : 決定label文字將被分成多少行,該選項指定每行的長度,單位是螢幕單元,預設值為0。

PS:諸如 Label, Text, Canvas 等控制元件, 支援指定字型, 通過 “font” 屬性設定即可實現. 需要特別注意的是字型不是平臺獨立的.
實戰內容
1.在Label中顯示圖片

import tkinter as tk

root = tk.Tk()
# 讀取圖片
logo = tk.PhotoImage(file="python.gif")
# label展示圖片
label_image = tk.Label(root, image=logo).pack(side="right")
explanation = """At present, only GIF and PPM/PGM
formats are supported, but an interface 
exists to allow additional image file
formats to be added easily."""
# label展示文字
label_text = tk.Label(root,
           justify='left',
           padx=10,
           text=explanation).pack(side="left")
root.mainloop()

在這裡插入圖片描述
2.改變控制元件內容

import tkinter as tk

counter = 0
def counter_label(label):
    def count():
        global counter
        counter += 1
        label.config(text=str(counter))
        label.after(1000, count)
    count()

root = tk.Tk()
root.title("Counting Seconds")
label = tk.Label(root, fg="green")
label.pack()
counter_label(label)
# 下節預告Button
bt = tk.Button(root, text='Stop', width=25, command=root.destroy)
bt.pack()
root.mainloop()

在這裡插入圖片描述
今天的label講解到此結束,希望對大家有所幫助。
下面我們將繼續講解元件Button。敬請期待!
Python交流群:942913325 歡迎大家一起交流學習