Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để gọi một hàm bằng tiện ích OptionMenu trong Tkinter?

Hãy lấy một ví dụ và xem cách gọi một hàm bằng tiện ích OptionMenu trong Tkinter. Trong ví dụ này, chúng tôi sẽ sử dụng StringVar đối tượng và gọi phương thức get () của nó. A StringVar đối tượng trong Tkinter có thể giúp quản lý giá trị của tiện ích con.

Chúng tôi sẽ tạo một widget OptionMenu và điền vào nó với một danh sách các chuỗi. Khi người dùng chọn một tùy chọn, nó sẽ gọi một chức năng và lần lượt sẽ in tùy chọn đã chọn dưới dạng nhãn.

Các bước -

  • Nhập thư viện tkinter và tạo một phiên bản của khung tkinter.

  • Đặt kích thước của khung bằng hình học phương pháp.

  • Tạo một tập hợp các chuỗi và lưu nó trong một biến, dữ liệu .

  • Tiếp theo, sử dụng StringVar () hàm tạo để tạo StringVar vật. Nó giúp quản lý giá trị của tiện ích con, đó là OptionMenu trong trường hợp này.

  • Tạo danh sách các chuỗi "tùy chọn" và một OptionMenu . Đặt các giá trị của OptionMenu bằng cách chuyển StringVar đối tượng và "tùy chọn" .

  • Tạo nhãn để hiển thị tùy chọn đã chọn từ OptionMenu.

  • Tạo một chức năng do người dùng xác định "OptionMenu_Select" để in mục đã chọn từ OptionMenu trong nhãn.

  • Sử dụng tham số command =OptionMenu_Select để gọi hàm do người dùng xác định khi người dùng chọn một tùy chọn.

  • Cuối cùng, chạy mainloop của cửa sổ ứng dụng.

Ví dụ

# 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()

Đầu ra

Nó sẽ tạo ra kết quả sau -

Làm cách nào để gọi một hàm bằng tiện ích OptionMenu trong Tkinter?

Khi người dùng chọn một tùy chọn, nó sẽ hiển thị các tùy chọn đã chọn một nhãn -

Làm cách nào để gọi một hàm bằng tiện ích OptionMenu trong Tkinter?