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

วิธีหยุดการคัดลอก วาง และ Backspace ใน Text widget ใน Tkinter

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

เพื่อปิดใช้งานการคัดลอก วาง และ backspace ใน Text widget คุณต้องผูกเหตุการณ์กับตัวจัดการเหตุการณ์และคืนค่า break โดยใช้คีย์เวิร์ด lambda ใน Python ตัวอย่างต่อไปนี้สาธิตการทำงาน

ตัวอย่าง

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

# สร้างอินสแตนซ์เฟรมหรือ widget Tkinter
win = Tk()
win.geometry("700x350")

# สร้าง text widget
text = Text(win, font="Calibri, 14")
text.pack(fill=BOTH, expand=True)

# ผูกคีย์กับตัวจัดการเหตุการณ์
text.bind('', lambda _: 'break')
text.bind('', lambda _: 'break')
text.bind('', lambda _: 'break')

win.mainloop()

ผลลัพธ์

การรันโค้ดด้านบนจะแสดงหน้าต่างพร้อม Text widget ที่ผู้ใช้สามารถพิมพ์และแทรกข้อความได้

วิธีหยุดการคัดลอก วาง และ Backspace ใน Text widget ใน Tkinter

อย่างไรก็ตาม จะไม่ให้ผู้ใช้ใช้คีย์ หรือการผสมผสานของ "Ctrl+C" และ "Ctrl+V"