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

วิธีใส่ข้อความชั่วคราว (Placeholder) ใน Tkinter Entry Widget

เพื่อใส่ข้อความชั่วคราวใน Tkinter Entry widget เราจะผูก (bind) เหตุการณ์ <FocusIn> กับ Entry widget และเรียกฟังก์ชันผู้ใช้เพื่อลบข้อความภายใน Entry widget

ขั้นตอน

  • นำเข้าไลบรารี tkinter และสร้าง instance ของ tkinter frame

  • กำหนดขนาดหน้าต่างด้วยเมธอด geometry

  • สร้างเมธอดผู้ใช้ "temp_text()" เพื่อจับเหตุการณ์ <FocusIn> และลบข้อความชั่วคราวภายใน Entry widget

  • สร้าง Entry widget ภายใน Root window ตั้งค่าสีพื้นหลัง ความกว้าง และความกว้างขอบ

  • ใช้เมธอด insert() ของ Entry widget ใส่สตริงจากตำแหน่งเริ่มต้น "0" นี่คือข้อความชั่วคราวที่จะหายไปเมื่อคลิกที่ Entry widget

  • ผูกเหตุการณ์ <FocusIn> กับ Entry widget และเรียกเมธอด temp_text()

  • รัน mainloop ของหน้าต่างแอปพลิเคชัน

ตัวอย่าง

from tkinter import *

# สร้าง instance ของ tkinter frame
win = Tk()

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

def temp_text(e):
    textbox.delete(0, "end")

textbox = Entry(win, bg="white", width=50, borderwidth=2)
textbox.insert(0, "This is Temporary Text...")
textbox.pack(pady=20)
textbox.bind("", temp_text)

win.mainloop()

ผลลัพธ์

เมื่อรันโปรแกรม จะแสดงหน้าต่างดังนี้:

วิธีใส่ข้อความชั่วคราว (Placeholder) ใน Tkinter Entry Widget

เมื่อผู้ใช้คลิกภายใน Entry widget ข้อความชั่วคราวจะหายไปอัตโนมัติ:

วิธีใส่ข้อความชั่วคราว (Placeholder) ใน Tkinter Entry Widget