此篇目標:
- 知道觸發的條件
- 會寫基本的語法
- 知道怎麼帶參數
目錄:
- 觸發條件
- 可以使用 command binding 的物件
- 基礎範例
- 帶參數的範例
觸發條件
會特別說明觸發條件,因為 按鈕 有其必要的點擊方式。
只有使用底下方式按按鈕,才會觸發
- 使用滑鼠左鍵點擊
- 先 focus 按鈕,再使用鍵盤的空白鍵
使用 Enter 鍵不會觸發 command,如果要使用 Enter 鍵,須改用 event binding。
可以使用 command binding 的物件
tkinter 內建可以使用 command binding 的物件
- Button
- Spinbox
- Radiobutton
- Checkbutton
基礎範例
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
# 按下按鈕會被執行的方法
def pushed():
lbl['text'] = "Hello"
lbl = ttk.Label(text="Please push button.")
bnt = ttk.Button(text="Push Me", command=pushed) # 加上 command 參數
lbl.pack()
bnt.pack()
window.mainloop()
帶參數的範例
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
# 按下按鈕會被執行的方法
# 多了參數可以帶入
def pushed(s):
lbl['text'] = s
lbl = ttk.Label(text="Please push button.")
# command 後面改用 lambda,這樣就可以帶參數
bnt = ttk.Button(text="Push Me", command=lambda: pushed("Hello"))
lbl.pack()
bnt.pack()
window.mainloop()