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


Text 小组件接受多行用户输入,在其中,你可以键入文本并执行诸如复制、粘贴和删除的操作。有些方法可以禁用 Text 小组件上各种操作的快捷方式。

为了禁用 Text 小组件中的复制、粘贴和退格,你必须使用事件处理程序绑定事件,并在 Python 中使用 lambda 关键字返回 break。以下示例演示了其工作原理。

示例

# Import the required library
from tkinter import *

# Create an instance of tkinter frame or widget
win=Tk()
win.geometry("700x350")

# Create a text widget
text=Text(win, font="Calibri, 14")
text.pack(fill= BOTH, expand= True)

# Bind the keys with the event handler
text.bind('<Control-v>', lambda _:'break')
text.bind('<Control-c>', lambda _:'break')
text.bind('<BackSpace>', lambda _:'break')

win.mainloop()

输出

运行以上代码将显示一个窗口,其中包含一个 Text 小组件,用户可以在其中键入和插入文本。

但是,它不允许用户使用 <BackSpace> 键或“Ctrl+C”和“Ctrl+V”键的组合。

更新于: 16-12-2021

572 浏览量

开启您的 职业生涯

完成课程以获得证书

开始学习
广告