มาดูตัวอย่างการเรียกฟังก์ชันด้วย OptionMenu widget ใน Tkinter เราจะใช้วัตถุ StringVar และเรียกเมธอด get() ของมัน StringVar ใน Tkinter ช่วยจัดการค่าของ widget
เราจะสร้าง OptionMenu widget พร้อมรายการสตริง เมื่อผู้ใช้เลือกตัวเลือก จะเรียกฟังก์ชันซึ่งจะพิมพ์ตัวเลือกที่เลือกเป็น label
ขั้นตอน
นำเข้า tkinter และสร้าง instance ของ tkinter frame
กำหนดขนาด frame ด้วยเมธอด geometry
สร้างชุดสตริงและเก็บในตัวแปร data
ใช้ constructor StringVar() สร้างวัตถุ StringVar ช่วยจัดการค่าของ widget (OptionMenu)
สร้างรายการสตริง "options" และ OptionMenu ตั้งค่าด้วย StringVar และ "options"
สร้าง label เพื่อแสดงตัวเลือกที่เลือกจาก OptionMenu
สร้างฟังก์ชัน "OptionMenu_Select" พิมพ์รายการที่เลือกใน label
ใช้พารามิเตอร์ command=OptionMenu_Select เรียกฟังก์ชันเมื่อผู้ใช้เลือกตัวเลือก
รัน mainloop ของหน้าต่างแอปพลิเคชัน
ตัวอย่าง
from tkinter import *
root = Tk()
root.geometry("700x300")
def OptionMenu_Select(event):
label_city.config(text="You have selected: " + var.get())
var = StringVar()
var.set("Select a City")
options = ["Mumbai", "Chennai", "Bhubaneswar", "Pune", "Patna", "Bhopal", "Surat", "Hyderabad", "New Delhi", "Lucknow"]
OptionMenu(root, var, *(options), command=OptionMenu_Select).pack(pady=50)
label_city = Label(root, font="Calibri,12,bold")
label_city.pack(padx=20, pady=20)
root.mainloop()
ผลลัพธ์
หน้าต่างเริ่มต้น:

เมื่อเลือกตัวเลือก จะแสดงเป็น label:
