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

วิธีล้างช่องข้อความของ ttk.Combobox ใน Tkinter

Combobox widget เป็นหนึ่งในวิджชั่นที่หลากหลายใน Tkinter ที่ใช้สร้างรายการแบบดรอปดาวน์ที่มีค่าบางค่า คุณสามารถเลือกค่าจากรายการแบบดรอปดาวน์ที่จะถูกแทนที่ด้วยค่าเริ่มต้นของ combobox widget คุณสามารถสร้าง combobox widget ได้โดยการเริ่มต้นคอนสตรัคเตอร์ของ Combobox(root, width, text) widget

พิจารณากรณี หากผู้ใช้ต้องการล้างค่าที่เลือกจาก combobox widget วิธีเดียวที่คุณทำได้คือตั้งค่าของ combobox widget เป็น NULL โดยใช้เมธอด set('') ตัวอย่างต่อไปนี้สาธิตวิธีการทำ

ตัวอย่าง

# นำเข้าไลบรารีที่จำเป็น
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 widget
var = StringVar()
cb = ttk.Combobox(win, textvariable=var)
cb['values'] = days
cb['state'] = 'readonly'
cb.pack(fill='x', padx=5, pady=5)

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

win.mainloop()

ผลลัพธ์

การรันโค้ดด้านบนจะแสดงหน้าต่างพร้อม combobox widget และปุ่ม "Clear" เพื่อล้างค่าที่เลือกจาก combobox widget

วิธีล้างช่องข้อความของ ttk.Combobox ใน Tkinter

ตอนนี้ คลิกปุ่ม "Clear" เพื่อล้างค่าที่เลือกจาก combobox widget

วิธีล้างช่องข้อความของ ttk.Combobox ใน Tkinter