如何在 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()

輸出

它將產生以下輸出:

當用戶選擇一個選項時,它將顯示所選選項作為標籤:

更新於:2021-10-26

4K+ 次瀏覽

開啟您的 職業生涯

完成課程獲得認證

開始學習
廣告