python - 如何为 Tkinter 条目制作不可更改的默认文本?

标签 python tkinter default-value tkinter-entry

我设法找到了一篇关于如何创建具有默认值的 Tkinter 条目的帖子(引用 this one )。下面的代码演示了我对它的使用:

comCurrent_Label = tk.Entry(root, font = (16), bg = "black", fg = "white", bd = 3, relief = "sunken")
comCurrent_Label.insert(0, ">>> ")
comCurrent_Label.grid(row = 2, column = 0, ipady = 15, ipadx = 175)

但我希望用户无法通过退格太远来删除 >>>

我的问题是:如何使该条目的默认文本不可更改/不可删除?

最佳答案

您可以使用输入小部件的验证功能来防止用户删除前导字符。只需要求任何新值以字符串“">>>”开头,该条目将阻止用户删除这些字符。

这是一个例子:

import tkinter as tk

def validate(new_value):
    return new_value.startswith(">>> ")

root = tk.Tk()
vcmd = root.register(validate)
entry = tk.Entry(root, validate="key", validatecommand=(vcmd, "%P"))
entry.pack(side="top", fill="x", padx=20, pady=20)
entry.insert(0, ">>> ")

root.mainloop()

有关条目验证的更深入说明,请参阅 Interactively validating Entry widget content in tkinter

关于python - 如何为 Tkinter 条目制作不可更改的默认文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56825397/

相关文章:

javascript - 设置 AngularJs select 的默认值,该值在 ng-options 中不存在

java - 为什么 char、double 和 float 的默认值打印成这样?

python - 如何在 Python GUI 的文本框中添加用户可调整大小的图像

python - 获取数据帧的协方差返回

python-3.x - 使用文件对话框加载音频文件并使用 pygame 播放

python - Tkinter:通过多处理启动进程创建不需要的新窗口

python - tkinter.TclError : couldn't recognize data in image file 错误

python - 多个 python 装饰器

python - 如何使用python找到矩阵中最大的平方和

constants - MQL4 - 如何在 MQL4 脚本中将 "today"-datetime 设置为外部变量?