首先我们知道,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设置为不可编辑状态的更多相关文章

  1. Easyui 设置datagrid 进入编辑状态,保存结束编辑

    在datagrid中如何实现让一行进入编辑状态,修改数据后,保存信息呢? //点击列表变成文本框,进入可编辑状态 $(function () { var doc = $(document), tabl ...

  2. easyui textbox 设置只读不可编辑状态

    在使用easyul的时候,发现输入框内容及不容易获取与设置,用jQuery的方式大部分失效.依稀记得好像是因为easyul会在原页面的基础上,生成了一些新的独有样式,并且暂时覆盖掉使用了easyul的 ...

  3. easyui textbox combobox 设置只读不可编辑状态

    输入框 textbox $("#xx").textbox('setValue','value');  //设置输入框的值 $('#xx').textbox('textbox').a ...

  4. Java中如何设置表格处于不可编辑状态

    代码片段如下: 这样的话就可以将表格设置为不可编辑状态

  5. jqgrid 批量启动所有行为可编辑状态

    有时,为操作方便,需要将jqgrid表格设置为一直处于编辑状态,用户只需要在对应的编辑区填写自己信息,不再频繁的去触发行编辑和保存. 参考代码如下: //$gridCase为传入jqgrid对象 fu ...

  6. tableview 编辑状态设置

    #pragma mark - tableview 编辑状态设置 -(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSI ...

  7. EditText设置可以编辑和不可编辑状态

    1.首先想到在xml中设置android:editable="false",但是如果想在代码中动态设置可编辑状态,没有找到对应的函数 2.然后尝试使用editText.setFoc ...

  8. TFS中设置任务中的“计划开始时间”为可编辑状态

    问题现象 如果使用TFS系统的默认模板CMMI新建团队项目,你会发现在网页浏览器中,任务工作项的"计划开始日期"和"计划结束日期"的类型是普通字符,并且不能修改 ...

  9. [C1] C1ComboBox 的非编辑状态优化

    一.前言 先看看 WPF 自带的 ComboBox 在非编辑状态,自定义 ItemTemplate 的情况下,效果如下图所示: 其当前选中的项(红框内)与自定义的 ItemTemplate 一样: 但 ...

  10. 设置DIV可编辑

    <div id="move" contentEditable="true">可编辑</div> 设置contentEditable属性可 ...

随机推荐

  1. 比 poi导入导出更好用的 EasyExcel使用小结

    转载请注明出处: 官方文档: https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read 1.简洁 Java解析.生成E ...

  2. echart 解决setOption线残留

    前言: Antd + echarts 我想要实现的是点击表的某一行自动生成对应的折线图,我在点击第一行生成5条线,我在点击第二行的时候,本该生成2条线,结果还是5条线: 最开始我以为设置的 serie ...

  3. MS12-020 拒绝服务 蓝屏攻击

    漏洞概要 MS12-020是一个3389远程桌面rdp协议的一个漏洞 攻击者通过特意构造的rdp数据包发送给靶机3389端口,造成系统崩溃,蓝屏重启 影响范围:windows xp .2003.200 ...

  4. 文件上传靶场 upload-labs搭建 Pass 1-4

    upload-labs是一个练习文件上传的靶场 我们需要先安装中间件和PHP,推荐使用小皮面板,如何安装使用见sqli-labs搭建前部分 upload-labs下载:https://gitcode. ...

  5. Linux & 标准C语言学习 <DAY3>

    C语言简介:     BCPL->New B->C->UNIX->Minix->Linux->gcc     C语言诞生于1971~1973年,美国贝尔实验室,肯. ...

  6. 安全测试之探索 windows 游戏扫雷

    作者:京东工业 宛煜昕 扫雷游戏相信很多人都从小玩过,在那个电脑游戏并不多的时代,扫雷成为玩的热度蛮高的一款游戏之一,然而就在有一次,接触到了一次不寻常的扫雷过程,使得后来我也有了这个冲动,也来做一次 ...

  7. 为什么说 ICMP 协议是网络最强辅助

    大家好,我是风筝 轻解网络系列又来了.已有高清 PDF 版本可以离线阅读了,全册 65 页,如果有需要离线版的高清 PDF 可以直接下载. 今天咱们说说 ICMP 协议.ICMP 可谓是网络世界中的最 ...

  8. 二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从)

    二进制安装Kubernetes(k8s) v1.24.0 IPv4/IPv6双栈 (三主俩从) Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可 ...

  9. [大数据]ETL之增量数据抽取(CDC)

    关于:转载/知识产权 本文遵循 GPL开源协议,如若转载: 1 请发邮件至博主,以作申请声明. 2 请于引用文章的显著处注明来源([大数据]ETL之增量数据抽取(CDC) - https://www. ...

  10. Python多线程与GIL锁

    Python多线程与GIL锁 python多线程 Python的多线程编程可以在单个进程内创建多个线程来同时执行多个任务,从而提高程序的效率和性能.Python的多线程实现依赖于操作系统的线程调度器, ...