100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > tkinter的Entry设置为不可编辑状态

tkinter的Entry设置为不可编辑状态

时间:2020-11-15 08:11:46

相关推荐

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效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。