我正在python代码中使用tkinter模块为我正在创建的简单应用程序创建GUI。我想知道即使我的输入小部件上的状态设置为“ 只读”,是否也可以保持插入光标可见。我希望用户仍然看到插入光标在文本中的位置,但不能直接使用键盘编辑文本。
注意:
当我说 Insertion Cursor 时,我并不是说普通的鼠标光标/指针,而是指闪烁的条,它会显示在您可以编辑的文本上。我不确定它的专有名称是什么...下面是我的意思的示例(条目中的黑条)
我尝试在Entry小部件中设置'insertwidth'和其他 insertion游标配置选项,以查看游标是否只是被隐藏了而无法使用。
感谢您的帮助。
谢谢!
答案 0 :(得分:1)
您可以将条目小部件上的所有键盘事件都阻止,而不是将条目小部件设置为只读,从而无法输入:
entry.bind("<Key>", lambda e: "break")
答案 1 :(得分:1)
我建议您禁用Entry
并更改其disabledbackground
。示例:
entry.config(disabledbackground ="white",state="disabled")
因此,假设您使用的是python 3
,则您的代码可能类似于:
from tkinter import *
root = Tk()
ent = Entry(root)
ent.config(disabledbackground ="white",state="disabled")
ent.place(x=0,y=0)
mainloop()
您的输入将如下所示:
由于问题已被编辑,所以我建议您使用bind
。与@fhdrsdg
的答案不同,您可以以更简单的方式使用bind函数:
ent.bind("<Key>", "pass")
因此,您可以说您的完整代码是:
from tkinter import *
root = Tk()
ent = Entry(root)
ent.bind("<Key>", "pass")
ent.pack()
mainloop()
这是屏幕截图: