Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะรับดัชนีของตัวเลือกที่เลือกใน Tkinter Combobox ได้อย่างไร


หากคุณต้องการสร้างรายการดรอปดาวน์ของรายการและเปิดใช้งานรายการในรายการที่ผู้ใช้จะเลือก คุณสามารถใช้วิดเจ็ต Combobox วิดเจ็ต Combobox ช่วยให้คุณสร้างรายการดรอปดาวน์ซึ่งคุณสามารถเลือกรายการได้ทันที อย่างไรก็ตาม หากคุณต้องการรับดัชนีของรายการที่เลือกในวิดเจ็ตคอมโบบ็อกซ์ คุณสามารถใช้ get() กระบวนการ. get() วิธีคืนค่าจำนวนเต็มของรายการที่เลือกซึ่งเรียกว่าดัชนีของรายการ

ตัวอย่าง

มาดูตัวอย่างกันว่ามันทำงานอย่างไร ในตัวอย่างนี้ เราได้สร้างรายการวันของสัปดาห์ในรายการแบบเลื่อนลง และเมื่อใดก็ตามที่ผู้ใช้เลือกวันจากรายการแบบเลื่อนลง โปรแกรมจะพิมพ์และแสดงดัชนีของรายการที่เลือกบนวิดเจ็ตป้ายกำกับ ในการพิมพ์ดัชนี เราสามารถเชื่อมสตริงโดยพิมพ์ดัชนีที่กำหนดลงในสตริง

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

ผลลัพธ์

การเรียกใช้โค้ดด้านบนจะแสดงวิดเจ็ตคอมโบบ็อกซ์พร้อมรายการวัน เมื่อใดก็ตามที่คุณเลือกวันจากรายการ มันจะพิมพ์ดัชนีและรายการที่เกี่ยวข้องบนวิดเจ็ตป้ายกำกับ

จะรับดัชนีของตัวเลือกที่เลือกใน Tkinter Combobox ได้อย่างไร