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

Làm cách nào để lấy chỉ mục của tùy chọn đã chọn trong Tkinter Combobox?

Nếu bạn muốn tạo một danh sách các mục thả xuống và cho phép người dùng chọn các mục trong danh sách, thì bạn có thể sử dụng tiện ích Combobox. Tiện ích Combobox cho phép bạn tạo một danh sách thả xuống trong đó danh sách các mục có thể được chọn ngay lập tức. Tuy nhiên, nếu bạn muốn nhận chỉ mục của các mục đã chọn trong tiện ích con combobox, thì bạn có thể sử dụng get () phương pháp. get () phương thức trả về một số nguyên của mục đã chọn được gọi là chỉ mục của mục đó.

Ví dụ

Hãy lấy một ví dụ để xem nó hoạt động như thế nào. Trong ví dụ này, chúng tôi đã tạo danh sách các ngày trong tuần trong danh sách thả xuống và bất cứ khi nào người dùng chọn một ngày từ danh sách thả xuống, nó sẽ in và hiển thị chỉ mục của mục đã chọn trên tiện ích Nhãn. Để in chỉ mục, chúng ta có thể nối chuỗi bằng cách nhập chỉ mục đã cho vào chuỗi.

# Import the required libraries
from tkinter import *
from tkinter import ttk

# Create an instance of tkinter frame or window
win = Tk()

# Set the size of the window
win.geometry("700x350")

# Create a function to clear the combobox
def clear_cb():
   cb.set('')
   
# Define Days Tuple
days= ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')

# Function to print the index of selected option in Combobox
def callback(*arg):
   Label(win, text= "The value at index " + str(cb.current()) + " is" + " "+ str(var.get()), font= ('Helvetica 12')).pack()
   
# Create a combobox widget
var= StringVar()
cb= ttk.Combobox(win, textvariable= var)
cb['values']= days
cb['state']= 'readonly'
cb.pack(fill='x',padx= 5, pady=5)

# Set the tracing for the given variable
var.trace('w', callback)

# Create a button to clear the selected combobox text value
button= Button(win, text= "Clear", command= clear_cb)
button.pack()

win.mainloop()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một widget combobox với danh sách các ngày. Bất cứ khi nào bạn chọn một ngày từ danh sách, nó sẽ in chỉ mục và mục tương ứng trên tiện ích nhãn.

Làm cách nào để lấy chỉ mục của tùy chọn đã chọn trong Tkinter Combobox?