首先我们知道,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. Android笔记--Android studio里面打开数据库详解

    1.下载Database Navigator插件,然后需要重启Android studio 2.然后会总界面这里.出现这样一个图标 然后选中Database Brower: 3.弹出这样一个界面 然后 ...

  2. 音质效果不错的Pcie声卡之CM8828听歌声卡

    CM8828芯片是cmedia骅讯公司生产的,采用这个芯片的声卡价格不一,便宜的100多,贵一点的500多.价位在100多买到这款声卡还是比较实惠的,再高一点的声卡都是堆料的.CM8828声卡是原生的 ...

  3. Knockin' On PHP's Door ---PHP入门必知(持续更新)

    1.->.=> 和 :: 区别: ::   类中调用静态方法时用->  类中调用属性和非静态方法=> 是键值对,比如在关联数组中用 $arr = ["name&quo ...

  4. ServiceAccounts 及 Secrets 重大变化

    关于 ServiceAccounts 及其 Secrets 的重大变化 kubernetes v1.24.0 更新之后进行创建 ServiceAccount 不会自动生成 Secret 需要对其手动创 ...

  5. GitLab 安装部署使用

    GitLab介绍 GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业.学校等内部网络搭建git私服. 功能:Gitl ...

  6. SpringBoot 整合 JDBC 实例

    0.数据库表 CREATE DATABASE springboot; USE springboot; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_ ...

  7. SQL Case条件判断语句

    问题描述:在表中取到一些值做出判断,配合监控监测一些表中的数据.使用select case when if 来做条件查询判断 CASE 表达式遍历条件并在满足第一个条件时返回一个值(类似于 if-th ...

  8. flume基本安装与使用

    解压flume包 到/usr/local/src/目录下 [root@hadoopha01 pack]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /usr ...

  9. 活动预告 | Jax Diffusers 社区冲刺线上分享(还有北京线下活动)

    我们的 Jax Diffuser 社区冲刺活动已经截止报名,全球有 200 多名参赛选手成功组成了约 70 支队伍共同参赛. 为了帮助参赛者更好的完成自己的项目,也为了与更多社区成员们分享扩散模型和生 ...

  10. RDIFramework.NET WinForm版新增通知公告、系统新闻模块

    1.系统新闻功能描述 系统新闻模块,用户可以根据实际情况做相应应用,如用在内部业务系统的展示中或网站上新闻的展示.新闻可以分类进行管理,非常的实用.系统新闻管理主要分为添加.修改.删除与移动系统新闻. ...