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

จะล้างส่วนฟิลด์ข้อความของ ttk.Combobox ใน tkinter ได้อย่างไร?


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

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

ตัวอย่าง

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

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

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

win.mainloop()

ผลลัพธ์

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

จะล้างส่วนฟิลด์ข้อความของ ttk.Combobox ใน tkinter ได้อย่างไร?

ตอนนี้ คลิกที่ปุ่ม "ล้าง" เพื่อล้างค่าที่เลือกจากวิดเจ็ตคอมโบบ็อกซ์

จะล้างส่วนฟิลด์ข้อความของ ttk.Combobox ใน tkinter ได้อย่างไร?