Python 3.x 如何使特定文本在tkinter中不可移动?
我有一个关于Tkinter文本和条目小部件的快速问题。 如何使特定文本不可移动? 是的,我知道Python 3.x 如何使特定文本在tkinter中不可移动?,python-3.x,tkinter,Python 3.x,Tkinter,我有一个关于Tkinter文本和条目小部件的快速问题。 如何使特定文本不可移动? 是的,我知道.config(state=“disabled”)不,这不是我想要的,它只是使所有文本都不可移动 假设我有一个文本框。在那个文本框中有一个“输入消息”文本。 用户可以像任何其他文本框一样键入和删除。但是,我不希望用户删除“输入消息” 就像在Windows shell中一样,不能删除“C:\Users\your username>” 或者你所在的目录 下面是一些代码: from tkinter impor
.config(state=“disabled”)
不,这不是我想要的,它只是使所有文本都不可移动
假设我有一个文本框。在那个文本框中有一个“输入消息”文本。
用户可以像任何其他文本框一样键入和删除。但是,我不希望用户删除“输入消息”
就像在Windows shell中一样,不能删除“C:\Users\your username>”
或者你所在的目录
下面是一些代码:
from tkinter import *
root = Tk()
root.geometry("500x500")
entry = Entry(root, bg="black", fg="white")
entry.pack(side="top", fill="x")
entry.insert(END, "Enter message: ")
entry.non_removable("Enter message: ") # << not a real code. just what i imagine it to be
mainloop()
从tkinter导入*
root=Tk()
根几何(“500x500”)
条目=条目(根,bg=“黑色”,fg=“白色”)
入口包装(侧边=“顶部”,填充=“x”)
entry.insert(结束,“输入消息:”)
entry.non_removable(“Enter message:)#最简单的方法是禁用退格,当文本与您的文本匹配时绑定并返回“break”,当文本与您的文本不匹配时取消绑定
试试这个:
从tkinter导入*
def检查(*参数):
如果entry.index(INSERT)另一种方法是使用validate
def do_validate( text ):
# if this returns False the entered key(s) aren't accepted.
return text.startswith( "Enter message: " )
import tkinter as tk
root = tk.Tk()
root.geometry("500x500")
entry = tk.Entry(root, bg="black", fg="white")
entry.pack(side="top", fill="x")
entry.insert( tk.END, "Enter message: ")
validate_cmd = ( root.register( do_validate ), '%P' )
entry.config( validate = 'key', validatecommand = validate_cmd )
root.mainloop()
如果击键创建的字符串不是以“Enter Message:”开头,则击键将被拒绝,输入文本将保持不变。这是否回答了您的问题@Atlas435:这是用于文本小部件的。这个问题是关于入口小部件的。这两个小部件的功能非常不同。@BryanOakley关于Tkinter文本和条目小部件。这是OP的问题。我认为,使用您提供的代码,只需稍作调整,就可以创建一个costum条目。@Atlas435:好的。是的,开头一段提到了一个文本
小部件,但代码没有创建一个。谢谢你指出这一点。