如何在 Tkinter 中使用 OptionMenu 元件呼叫函式?
讓我們來看一個例子,瞭解如何在 Tkinter 中使用 OptionMenu 元件呼叫函式。在這個例子中,我們將使用一個 **StringVar** 物件並呼叫它的 get() 方法。Tkinter 中的 **StringVar** 物件可以幫助管理元件的值。
我們將建立一個 OptionMenu 元件並用一系列字串填充它。當用戶選擇一個選項時,它將呼叫一個函式,該函式將所選選項作為標籤打印出來。
步驟:
匯入 tkinter 庫並建立 tkinter 框架的例項。
使用 **geometry** 方法設定框架的大小。
建立一組字串並將其儲存在變數 **data** 中。
接下來,使用 **StringVar()** 建構函式建立一個 **StringVar** 物件。它有助於管理元件的值,在本例中是 **OptionMenu**。
建立一個字串列表 **"options"** 和一個 **OptionMenu**。透過傳遞 **StringVar** 物件和 **"options"** 來設定 OptionMenu 的值。
建立一個標籤來顯示從 OptionMenu 中選擇的選項。
建立一個使用者定義函式 **"OptionMenu_Select"** 來在標籤中列印從 OptionMenu 中選擇的專案。
使用引數 **command=OptionMenu_Select** 在使用者選擇選項時呼叫使用者定義的函式。
最後,執行應用程式視窗的 **mainloop**。
示例
# Import the tkinter library from tkinter import * # Create an instance of tkinter frame root = Tk() root.geometry("700x300") # Create the option and Check Button Event def OptionMenu_Select(event): label_city.config(text="You have selected: " + var.get()) # Create the variables 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()
輸出
它將產生以下輸出:
當用戶選擇一個選項時,它將顯示所選選項作為標籤:
廣告