首先我们知道,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. mybatis-plus使用FIND_IN_SET

    xxxQueryWrapper.eq("is_deleted","0").apply(deptUser.getDeptId() != null,"de ...

  2. P4774 倚天屠龙传 题解

    其实这道题的主体并不难,主要是细节很多 我们可以把题目分成界限分明的两部分,第一部分,屠每条龙所用的剑只和当前拥有的剑有关.于是可以单独开一个数据结构按题目维护. 另一部分找到最小攻击次数,可以化作以 ...

  3. T-Dubbo,最好的RPC接口测试工具,支持nacos、zookeeper两大主流注册中心,真香!

    这可能是有史以来最好用的RPC接口测试工具 文末有视频简介 获取方式 一只小Coder 简介 T-Dubbo,是一个基于Dubbo的全自动RPC接口测试平台为当下最流行的微服务架构中的RPC接口提供了 ...

  4. Salesforce CPQ之后续慢慢看系列

    salesforce核心两朵云,sales & service. 针对sales的quote / quote line item的报价功能,还是相对薄弱.针对sales,报价的准确性影响着成单 ...

  5. Windows和Linux时间相差8个小时

    安装linux系统比如deepin.ubuntu之后和Windows两个系统时间相差八个小时的解决方案: 在linux系统下依次输入下方命令: sudo apt install ntpdate sud ...

  6. vue中新的状态管理器-pinia

    背景 对于pinia的使用,可参考官方文档在这不做过多赘述.这边主要来讲讲pinia中 少用且好用的方法,为什么我们选择pinia而不用vuex ps: 以下写法全部基于组合式API 使用方式: 先下 ...

  7. 系统优化脚本支持Ubuntu和CentOS

    系统优化脚本支持Ubuntu和CentOS 经常会部署各种用途的操作系统,但在这些工作中,我们会发现很多工作其实是重复性的劳动,操作的内容也是大同小异,基于这类情况,我们可以把相同的操作做成统一执行的 ...

  8. CentOS 落幕,将于2021年底结束维护

    官方最新消息: 译文: CentOS项目的未来是CentOS Stream,明年,我们将把重点从重建Red Hat Enterprise Linux(RHEL)的CentOS Linux转移到Cent ...

  9. w11 U盘启动进PE看不到硬盘解决方法

    w11 U盘启动进PE看不到硬盘解决方法 今天,因为要配系统,所以需要进pe,改配置文件,进去之后发现看不到系统盘,大吃一惊,然后各种找资料,最后,还是被我搞定了. 这里以戴尔为例,方法都差不多,先看 ...

  10. 【SpringMVC】(二)RESTFul

    RESTFul RestFul简介 REST:Representational State Transfer,表现层资源状态转移 资源:资源是一种看待服务器的方式 资源的表述:资源的表述是资源在某个特 ...