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.