Button widget ให้วิธีสื่อสารผ่านฟังก์ชันทั้งหมดของแอปพลิเคชัน เราสามารถดำเนินการบางอย่างด้วยปุ่มที่ห่อหุ้มฟังก์ชันและออบเจกต์ อย่างไรก็ตาม อาจมีกรณีที่เราต้องการดำเนินการหลายอย่างด้วยปุ่มเดียว สามารถทำได้โดยการกำหนด lambda functions ที่เป้าหมายหลายอีเวนต์หรือ callback ในแอปพลิเคชัน
ตัวอย่าง
ในตัวอย่างนี้ เราจะเพิ่มหลายอีเวนต์ให้กับปุ่มเฉพาะ
# นำเข้าไลบรารี Tkinter
from tkinter import *
# สร้างอินสแตนซ์ของ Tkinter Frame
win = Tk()
# กำหนดขนาดของหน้าต่าง
win.geometry("700x350")
# กำหนดฟังก์ชัน
def display_msg():
label.config(text="Top List of Programming Language")
def show_list():
listbox = Listbox(win, height=10, width=15, bg='grey', activestyle='dotbox', font='aerial')
listbox.insert(1, "Go")
listbox.insert(1, "Java")
listbox.insert(1, "Python")
listbox.insert(1, "C++")
listbox.insert(1, "Ruby")
listbox.pack()
button.destroy()
# สร้าง Label widget เพื่อแสดงข้อความ
label = Label(win, text="", font=('aerial 18 bold'))
label.pack(pady=20)
# กำหนด Button widget
button = Button(win, text="Click Here", command=lambda: [display_msg(), show_list()])
button.pack()
win.mainloop()
ผลลัพธ์
การรันโค้ดจะแสดงหน้าต่างที่มีปุ่ม

เมื่อคลิกปุ่ม จะดำเนินการสองงานพร้อมกัน แสดงหน้าต่างที่มี Label widget และรายการสตริง
