如何在tkinter的文本窗口中停止复制、粘贴和退格?
文本窗口可以接受多行用户输入,在其中输入文本并执行复制、粘贴和删除等操作。有一些方法可以禁用文本窗口中各种操作的快捷方式。
为了禁用文本窗口中的复制、粘贴和退格,您必须将事件绑定到事件处理程序,并使用Python中的 lambda 关键字返回 break 。下面的示例演示了它是如何工作的。
示例
# 导入所需库
from tkinter import *
# 创建一个tkinter框架或小部件
win=Tk()
win.geometry("700x350")
# 创建一个文本窗口
text=Text(win, font="Calibri, 14")
text.pack(fill= BOTH, expand= True)
# 将键绑定到事件处理程序
text.bind('<Control-v>', lambda _:'break')
text.bind('<Control-c>', lambda _:'break')
text.bind('<BackSpace>', lambda _:'break')
win.mainloop()
输出
运行以上代码将显示一个带有文本窗口的窗口,其中用户可以输入和插入文本。
但是,它不允许用户使用<BackSpace>
键或”Ctrl+C”和”Ctrl+V”键的组合。