如何在 tkinter 的文本小部件中停止复制、粘贴和退格?

Poo*_*tha 4 python text tkinter

我一直在使用 tkinter 处理文本小部件。我的要求是限制 Copy(ctrl+c)、Paste(ctrl+v) 和退格键的功能。就像一旦进入文本小部件,就没有像清除和从某处添加那样的编辑。用户必须键入并且不能退格。

self.inputfeild = tk.Text(self, bg="White")
self.inputfeild.pack(fill="both", expand=True)
Run Code Online (Sandbox Code Playgroud)

这是我在类中声明的 Text 小部件。

Jac*_*Pro 5

您可以使用event_delete方法删除与之关联的虚拟事件。

例如:

inputfield.event_delete('<<Paste>>', '<Control-v>')
inputfield.event_delete('<<Copy>>', '<Control-c>')
Run Code Online (Sandbox Code Playgroud)

在这里查看更多

或者您可以简单地将该事件绑定到事件处理程序并像这样返回“break”:

from tkinter import *


root = Tk()

inputfield = Text(root, bg="White")
inputfield.pack(fill="both", expand=True)

inputfield.bind('<Control-v>', lambda _: 'break')
inputfield.bind('<Control-c>', lambda _: 'break')
inputfield.bind('<BackSpace>', lambda _: 'break')


root.mainloop()
Run Code Online (Sandbox Code Playgroud)