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

วิธีหาดัชนีตัวเลือกที่เลือกใน Tkinter Combobox

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

ตัวอย่าง

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

# นำเข้าไลบรารีที่จำเป็น
from tkinter import *
from tkinter import ttk

# สร้างอินสแตนซ์เฟรมหรือหน้าต่าง Tkinter
win = Tk()

# กำหนดขนาดหน้าต่าง
win.geometry("700x350")

# สร้างฟังก์ชันล้าง combobox
def clear_cb():
    cb.set('')

# กำหนด Tuple วัน
days = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')

# ฟังก์ชันพิมพ์ดัชนีตัวเลือกที่เลือกใน Combobox
def callback(*arg):
    Label(win, text="The value at index " + str(cb.current()) + " is" + " " + str(var.get()), font=('Helvetica 12')).pack()

# สร้าง combobox widget
var = StringVar()
cb = ttk.Combobox(win, textvariable=var)
cb['values'] = days
cb['state'] = 'readonly'
cb.pack(fill='x', padx=5, pady=5)

# ตั้งค่าการติดตามสำหรับตัวแปรที่กำหนด
var.trace('w', callback)

# สร้างปุ่มล้างค่า combobox ที่เลือก
button = Button(win, text="Clear", command=clear_cb)
button.pack()

win.mainloop()

ผลลัพธ์

การรันโค้ดด้านบนจะแสดง combobox widget พร้อมรายการวัน ทุกครั้งที่คุณเลือกวันจากรายการ จะพิมพ์ดัชนีและรายการที่ตรงกันบน label widget

วิธีหาดัชนีตัวเลือกที่เลือกใน Tkinter Combobox