本篇介紹 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 新手入門教學