tkinter的Entry设置为不可编辑状态
Posted NiceThing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tkinter的Entry设置为不可编辑状态相关的知识,希望对你有一定的参考价值。
前
首先我们知道,tkinter中有许许多多的控件,其中使用频繁的控件之一就是Entry(输入框),那么怎么设置它为不可编辑状态呢?
state选项
一般我们在写Entry的时候只传入了一个master参数,也就是这样,
from tkinter import *
root = Tk()
root.geometry(\'200x200\')
lf = LabelFrame(root, text=\'默认状态\')
lf.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.5)
ent1 = Entry(lf)
ent1.place(relx=0.1, rely=0.25, relwidth=0.8)
root.mainloop()
效果是这样的:
实际上Entry有一个参数叫state
,它的值有normal
, disable
, readonly
其实看到这里我们就能大概知道各个状态了。
让我们逐一试试:
normal:
from tkinter import *
root = Tk()
root.geometry(\'200x200\')
lf = LabelFrame(root, text=\'normal状态\')
lf.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.5)
ent1 = Entry(lf, state=\'normal\')
ent1.place(relx=0.1, rely=0.25, relwidth=0.8)
root.mainloop()
normal效果:
disable:
这里为了演示效果,我们在Entry中插入一个值,看是否能显示
from tkinter import *
root = Tk()
root.geometry(\'200x200\')
lf = LabelFrame(root, text=\'disable状态\')
lf.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.5)
ent1 = Entry(lf, state=\'disable\')
ent1.insert(END, \'adada\')
ent1.place(relx=0.1, rely=0.25, relwidth=0.8)
root.mainloop()
disable效果:
readonly:
为了演示效果,也是提前插入一个值。
但是readonly是可读,如果我们在初始化时就设置可读,那么之后Entry的内容就无法再编辑
from tkinter import *
root = Tk()
root.geometry(\'200x200\')
lf = LabelFrame(root, text=\'readonly状态,初始化设置\')
lf.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.5)
ent1 = Entry(lf, state=\'readonly\')
ent1.insert(END, \'adad\')
ent1.place(relx=0.1, rely=0.25, relwidth=0.8)
root.mainloop()
readonly1效果:
我们可以在处理过Entry的文本后,利用config函数,再将其state设置为readonly,这样更加常用。
from tkinter import *
root = Tk()
root.geometry(\'200x200\')
lf = LabelFrame(root, text=\'readonly状态,之后设置\')
lf.place(relx=0.1, rely=0.25, relwidth=0.8, relheight=0.5)
ent1 = Entry(lf)
ent1.insert(END, \'adad\')
ent1.config(state=\'readonly\')
ent1.place(relx=0.1, rely=0.25, relwidth=0.8)
root.mainloop()
readonly2效果:
以上是关于tkinter的Entry设置为不可编辑状态的主要内容,如果未能解决你的问题,请参考以下文章
Python3 Tkinter基础 Entry state='readonly' 不可写入的输入框,但是可以选中与拷贝
python tkinter 组件功能实例总结(代码+效果图)(Radiobutton | Button | Entry | Menu | Text)
Python tkinter Entry 小部件状态通过单选按钮切换