當在視窗上輸入資料時,系統本身並不知道是否已經輸入資料完畢,必須搭配按鈕(Button)來做確認的工作。
視窗上顯示的資料是否看完,系統本身並不知道,亦必須透過按鈕來做確認的工作。按鈕控制項是視窗應用程式設計使用頻率很高的控制項之一。
建立按鈕的語法如下:
物件變數 = tkinter.Button(容器物件, [參數1=值1, 參數2=值2, …, 參數n=值n])Button可使用Label提供的參數,下表是Button所提供常用的參數說明:
| 參數 | 說明 |
|---|---|
| command | 按下按鈕時,會執行 command 所指定的函式。如下寫法指定按下 Hello 按鈕後會執行 fnHello()函式。 # 定義 fnHello()函式 def fnHello():# 程式敘述# 建立 Hello 按鈕 btnHello = tkinter.Button(win, text='Hello', command=fnHello) |
| underline | 指定按鈕上的文字加上底線,預設值-1,表示按鈕文字不加底線。0 表示第一個字加上底線、1 表示第二個字加上底線、2 表示第三個字加上底線…,其他依此類推。 |
[簡例] 在視窗上建立標籤與 Hello和Clear按鈕,按下Hello鈕時標籤即顯示Hello World! 按下Clear 鈕時籤即清成空白。 (檔名:button01.py)
[結果]

程式碼:
button01.pyimport tkinter as tk def fnHello(): lblShow['text'] = 'Hello World!' def fnClear(): lblShow['text'] = '' win = tk.Tk() win.title('按鈕範例') win.geometry('150x100') lblShow = tk.Label(win, text='', font=('細明體', 18)) btnHello = tk.Button(win, text='Hello', command=fnHello) btnClear = tk.Button(win, text='Clear', command=fnClear) lblShow.pack() btnHello.pack() btnClear.pack() win.mainloop()
說明
- 第
3-4行: 定義fnHello()函式,此函式可將lblShow標籤上的文字設為'Hello World!'。- 第
6~7行: 定義fnClear()函式,此函式可將lb1Show標籤上的文字清成空白。- 第
13行:按下btnHello按鈕,會執行此按鈕command指定的fnHello()函式。- 第
14行:按下btnClear按鈕,會執行此按鈕command指定的fnClear()函式。
相關主題與延伸閱讀
- 0. 章節索引:本章全部筆記的學習地圖與快速查找。
- 1. tkinter 套件:
tkinter套件的整體介紹與元件總覽。 - 2. Label 標籤元件:本篇範例中按鈕點擊後用來更新顯示文字的搭配元件。
- 5. Entry 文字方塊元件:後續範例常見「文字方塊輸入 + 按鈕送出」的組合用法。
- 3. 自定函式:
command參數指定的函式即自定函式,理解函式定義有助掌握按鈕事件處理。 - 6. messagebox 對話方塊元件:按鈕觸發的函式中常搭配對話方塊顯示結果或詢問使用者。