Tkinter:文本框Entry
文本框Entry
文章目录
- 文本框Entry
- 文本框基本概念
- options参数
- 使用show隐藏字符
- get()方法
- insert()方法
- delete()方法
- 例子:计算
- eval()函数介绍
- demo
文本框基本概念
单行的文本框,是用于输入的最基本Widget控件,可以使用它输入单行字符串,如果所输入的字符串长度大于文本框的宽度,所输入的文字会自动隐藏造成部分内容无法显示。
文本框Entry限定是单行文字,如果想要处理多行文字需使用Widget控件中的Text
Entry(父对象,options,...)
Entry( )方法的第一个参数是父对象,表示这个文本框将建立在哪一个窗口内。
options参数
- bg或background:背景色彩
- borderwidth或bd:边界宽度默认是2像素
- command:当用户更改内容时,会自动执行此函数
- cursor:当鼠标光标在复选框上时的光标形状
- exportselection:如果执行选取时,所选取的字符串会自动输出至剪贴板,如果想要避免,可以设置exportselection=0
- fg或foreground:前景色彩
- font:字形
- height:高,单位是字符高
- highlightbackground:当文本框取得焦点时的背景颜色
- highlightcolor:当文本框取得焦点时的颜色
- justify:当含多行文字时,最后一行的对齐方式
- relief:默认是relief=FLAT,可由此控制文字外框
- selectbackground:被选取字符串的背景色彩
- selectborderwidth:选取字符串时的边界宽度,预设是1
- selectfroeground:被选取字符串的前景色彩
- show:显示输入字符,例如,show='*'表示显示星号,常用于输入密码字段
- state:输入状态,默认是NORMAL表示可以输入,DISABLE则表示无法输入
- textvariable:文字变量
- width:宽,单位是字符宽
- xscrollcommand:在x轴使用滚动条
例子
建立标签和文本框,输入姓名和地址
from tkinter import *
root = Tk()
root.title("demo")
nameL = Label(root,text="Name")
addressL= Label(root,text="Address")
nameE = Entry(root)
addressE = Entry(root)#布局
nameL.grid(row=0)
addressL.grid(row=1)
nameE.grid(row=0,column=1)
addressE.grid(row=1,column=1)root.mainloop()
grid(row=0),在没有设置“column=x”的情况下,系统将自动设置“column=0”
使用show隐藏字符
show参数设置隐藏输入字符,常被应用于密码的输入控制
当输入密码时所输入的字符将隐藏并用“*”字符
from tkinter import *
root = Tk()
root.title("demo")
nameL = Label(root,text="Name")
pwdL= Label(root,text="Pwd")
nameE = Entry(root)
pwdE = Entry(root,show="*")#布局
nameL.grid(row=0)
pwdL.grid(row=1)
nameE.grid(row=0,column=1)
pwdE.grid(row=1,column=1)root.mainloop()
get()方法
获得目前Entry的字符串内容
Widget控件有一个常用方法Quit,执行此方法时Python Shell窗口的程序将结束,但是此窗口应用程序继续运行。
例子
- Login和Quit功能按钮
- 单击Login功能按钮,列出所输入的Account和Password
- 单击Quit按钮,则Python Shell窗口中程序执行结束,但是屏幕上仍可以看到此应用窗口
from tkinter import *def printInfo():print("Account: %s\r\nPwd: %s"%(accountE.get(),pwdE.get()))root = Tk()
root.title("demo")accountL = Label(root,text="Account")
pwdL= Label(root,text="Pwd")accountE = Entry(root)
pwdE = Entry(root,show="*")loginbtn = Button(root,text="Login",command=printInfo)
quitbtn = Button(root,text="Quit",command=root.quit)#布局
accountL.grid(row=0)
pwdL.grid(row=1)
accountE.grid(row=0,column=1)
pwdE.grid(row=1,column=1)
loginbtn.grid(row=2,column=0,sticky=W,pady=5,padx=5)
quitbtn.grid(row=2,column=1,sticky=E,pady=5,padx=5)root.mainloop()
insert()方法
insert(index,s)方法在Widget的Entry控件中插入字符串,字符串会插入在index位置
可以使用这个方法为文本框建立默认的文字,通常会将它放在Entry( )方法建立完文本框后
accountE = Entry(root)
pwdE = Entry(root,show="*")accountE.insert(0,"wkk") #默认内容
pwdE.insert(0,"wkk") #默认内容
delete()方法
delete(first,last=None) 方法删除Entry内的从第first字符到第last-1字符间的字符串
删除整个字符串可以使用delete(0,END)
accountE.delete(0,END) # 删除所有内容
pwdE.delete(0,END)
例子:计算
eval()函数介绍
该函数可以直接传回字符串数学表达式的计算结果
result = eval(expression) # expression是字符串
demo
from tkinter import *
def cal():out["text"] = "结果: " + str(eval(equ.get()))root = Tk()
root.title("calc")label = Label(root,text="请输入数学表达式")
equ = Entry(root)
btn = Button(root,text="计算", command=cal)
out = Label(root)label.pack()
equ.pack(pady=5)
out.pack()
btn.pack(pady=5)root.mainloop()
Tkinter:文本框Entry相关推荐
- tkinter向文本框里加内容_给tkinter文本框添加右键菜单
给tkinter文本框添加右键菜单 需求:直接右键点击使用tkinter创建的文本框是不会弹出菜单的.我们需要实现右键点击tkinter框架下的Entry对象.Text对象后弹出右键菜单可复制.粘贴和 ...
- python滚动文本框_调整滚动Tkinter文本框的大小
我想要一个滚动的Tkinter文本框来填充最大的分配空间.我有点工作...在 由于某些原因,当我拉伸窗口时,文本小部件很好:但是,滚动条在x轴上有大量的填充.在 第二个问题是当我缩小窗口时,屏幕上的滚 ...
- tkinter文本框小功能(6):锚点
tkinter文本框小功能(6):锚点 引言 添加标识 添加锚点 python层面 Tin层面 结语 引言 锚点之一概念在文本浏览中很常见,那就是在同一页面的文本内容在,添加一个锚点标识符,指向一个确 ...
- tkinter文本框同步滚动
tkinter文本框同步滚动 引言 尝试 改进 实现 总结 引言 不仅是在CSDN的Markdown编辑器中,在很多编辑器里,编辑文本框和呈现文本框是可以同步滚动的.这样既能体现即时呈现,也能方便编写 ...
- python tkinter 文本框全选_Python Tkinter Entry(文本框)
Python学习记录--关于Tkinter Entry(文本框)的选项.方法说明,以及一些示例. 属性(Options) background(bg) Type: color 说明:文本框的背景颜色 ...
- python获取文本框里输入的值_如何从Tkinter文本框小工具获取输入?
要从python 3中的文本框中获取Tkinter输入,我使用的完整学生级程序如下: #Imports all (*) classes, #atributes, and methods of tkin ...
- python怎么设置文本框大小_如何在Python中更改Tkinter文本框的宽度和高度?
所以我一直在用Tkinter在Python上开发一个计算器.不过,我想把按钮隔开,而不是把它们直接放在一起.我不使用root.Frame函数.这是我的代码:from Tkinter import * ...
- gui设置可编辑文本框的回调函数_用Tkinter制作Python程序的图形用户界面(GUI),打包后比Qt5减少60M(77.5%)(实例63)...
实例61使用PyQt5制作了图形用户界面(GUI).这个香是香,但是打包后的安装文件太大(约80M),感觉有些美中不足啊.由于这个GUI实在简单,从现实角度实在用不着高大上的PyQt5,所以改用Pyt ...
- Python GUI设计——Entry文本框、文字区域Text
目录 1.Entry 1.1基本概念 1.2使用show参数隐藏输入的字符 1.3Entry的get()方法 1.4Entry的insert()方法 1.5Entry的delete()方法 1.6计算 ...
最新文章
- python 比较列表相邻元素(找相同或去重)
- 【项目管理】绩效域-工件裁剪对照(工件维度)
- Java中therad_java中Thread的深入了解(一)
- Error while retrieving the leader gateway. Retrying to connect to akka.tcp://flink@laptop:xxxx
- jvm(2)-java内存区域
- python随机出100道加法题_自动出题随机100题-20以内加减法全部算式
- 小成本、大体验,“听歌自由”时代来临
- 用ANSYS画矩形_用SolidWorks画一个带波浪纹路的瓶子
- 七牛直播云播放鉴权-时间戳防盗链
- oracle用plsql导出表结构与数据
- 老徐和阿珍的故事:CAP是什么?超级爱放P吗?
- 内九外七皇城四,九门八点一口钟_ywyuan_新浪博客
- 【php-fpm】重启、启动、关闭
- 认真学习InnoDB的数据存储结构中的区、段与表空间
- 纯卡西欧计算器5800P坐标正反算
- 将时分秒的时间转为2020-11-12T20:00:00.000+08:00格式
- 通过静态LSP、LDP LSP、MPLS TE三种方式实现总部与分支的互通
- 快手视频批量采集 php,【原创开源】快手爬虫,根据eid批量爬取用户的所有图集和视频【已失效】...
- 接口请求中post与put的区别
- 1、jdk下载安装与Exlipse配置Tomcat搭建JavaWeb(JSP)开发环境