Python tkinter status bar 狀態列用法與範例

本篇介紹 Python tkinter status bar 狀態列用法與範例,在 tkinter 裡沒有專用的 statusbar 這種類別,但可以透過修改 Label 的樣式來達成,

以下的 Python tkinter status bar 狀態列用法與範例將分為這幾部分,

  • tkinter status bar 狀態列基本用法
  • 改變 tkinter status bar 狀態列文字

tkinter status bar 狀態列基本用法

這邊示範 tkinter status bar 狀態列的基本用法,範例如下,
在 Label 的屬性中 bd=1:指定邊框大小,
在 statusbar.pack 指定要放在視窗底部 side=tk.BOTTOM,並且寬度填滿整個視窗的寬度 fill=tk.X

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
root = tk.Tk()
root.title('my window')
root.geometry('200x150')

statusbar = tk.Label(root, text='status bar', bd=1, relief=tk.SUNKEN, anchor=tk.W)
statusbar.pack(side=tk.BOTTOM, fill=tk.X)

root.mainloop()

結果圖如下,

改變 tkinter status bar 狀態列文字

狀態列通常會伴隨著一些事件而顯示目前的狀態,所以這邊示範一下 tkinter 改變狀態列文字的範例,
範例是按下一個按鈕會就開始處理一些事情大約需要耗時 1 秒,所以在處理前將狀態列文字顯示成 processing...,處理完後顯示 done,這樣就比較像實際中需要的功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import tkinter as tk
import time

def button_event():
statustext.set('processing...')
statusbar.update()
time.sleep(1)
statustext.set('done')

root = tk.Tk()
root.title('my window')
root.geometry('200x150')

statustext = tk.StringVar()
statustext.set('status bar')
statusbar = tk.Label(root, textvariable=statustext, relief=tk.SUNKEN, anchor='w')
statusbar.pack(side=tk.BOTTOM, fill=tk.X)

button = tk.Button(root, text='Start', command=button_event)
button.pack()

root.mainloop()

結果圖如下,

處理中

處理完

以上就是 Python tkinter status bar 狀態列用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它參考
tkinter.ttk — Tk themed widgets — Python 3 documentation
https://docs.python.org/3/library/tkinter.ttk.html
Status Bar In Tkinter | Python Tkinter GUI Tutorial In Hindi #24 - Code With Harry
https://codewithharry.com/videos/python-gui-tkinter-hindi-24
python - Difference between “fill” and “expand” options for tkinter pack method - Stack Overflow
https://stackoverflow.com/questions/28089942/difference-between-fill-and-expand-options-for-tkinter-pack-method/28090362

其它相關文章推薦
Python tkinter 選擇資料夾對話框
Python 新手入門教學懶人包
Python tkinter 新手入門教學