本篇 ShengYu 介紹 Python tkinter 修改標籤文字,在 Python tkinter 建立 label 標籤後可能會在之後的事件觸發時去修改標籤的文字,這邊就來介紹一下怎麼修改 label 的文字標題。
使用 tkinter label 的 text 屬性來修改標籤文字
這邊介紹第一種方式,使用 tkinter Label
的 text 屬性來修改標籤文字,也是最通用最簡單的方式,用法範例如下,
這個範例是先透過一個按鈕事件來去改變標籤文字,每按一次 Label
就會顯示點擊的次數,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x150')
mylabel = tk.Label(root, text='hello world')
mylabel.pack()
counter = 0
def button_event():
global counter
counter += 1
mylabel['text'] = 'click ' + str(counter)
mybutton = tk.Button(root, text='my button', command=button_event)
mybutton.pack()
root.mainloop()
設定 Label
的 text 屬性也可以透過 configure 的方式,寫法如下,1
mylabel.configure(text = 'click ' + str(counter))
結果圖如下,
點擊 5 次後
用 StringVar 來修改 tkinter 標籤文字
第二種方式是宣告一個 StringVar
在建立 Label
時指定給 textvariable,這樣 Label
的文字就會跟 StringVar
的變數產生連動,當 StringVar
的變數產生改動時,也會同時反應在 Label
的文字,注意不是指定給 text 唷!
這樣之後在事件觸發後針對 StringVar 來進行修改就可以了,用法範例如下,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x150')
text = tk.StringVar()
text.set('hello world')
mylabel = tk.Label(root, textvariable=text)
mylabel.pack()
counter = 0
def button_event():
global counter
counter += 1
text.set('click ' + str(counter))
mybutton = tk.Button(root, text='my button', command=button_event)
mybutton.pack()
root.mainloop()
其它相關文章推薦
Python tkinter 標籤用法與範例
Python 新手入門教學懶人包
Python tkinter 新手入門教學