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

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

self.inputfeild = tk.Text(self, bg="White")
self.inputfeild.pack(fill="both", expand=True)

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

回答

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

例如:

inputfield.event_delete('<<Paste>>', '<Control-v>')
inputfield.event_delete('<<Copy>>', '<Control-c>')

在这里查看更多

或者您可以简单地将该事件绑定到事件处理程序并像这样返回“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()


以上是如何在tkinter的文本小部件中停止复制、粘贴和退格?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>