tkinter -- Entry
时间:2022-06-05
本文章向大家介绍tkinter -- Entry,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Entry 用来输入单行文本
示例:
import tkinter as tk
root = tk.Tk()
tk.Entry(root, text='input >>>').pack()
root.mainloop()
效果:
上面的代码目的是创建一个Entry对象,并在Entry上显示'input >>>',运行此代码,并没有看到文本的显示,由此可知于Lable和Button不同,Entry的text属性不可以设置Entry的文本
在Entry中设定初始值,使用textvariable将变量与Entry绑定
示例:
import tkinter as tk
root = tk.Tk()
st = tk.StringVar()
entry = tk.Entry(root, textvariable=st)
st.set('www.py3study.com')
entry.pack()
root.mainloop()
效果:
上面的例子中将变量st与Entry绑定,然后将st的值设置为'www.py3study.com',程序运行时的初始值便设置了
设置为只读Entry,不能更改
Entry的另一个比较有用的属性,设置为只读,不允许用户对它的值改变.
设置state属性为'readonly'
示例:
import tkinter as tk
root = tk.Tk()
st = tk.StringVar()
entry = tk.Entry(root, textvariable=st)
st.set('www.py3study.com')
entry.pack()
entry['state'] = 'readonly'
root.mainloop()
效果:
实际上Entry的属性值可以使用的也为normal/readonly/disabled,
normal 正常
readonly 只读
disabled 禁用
代码:
import tkinter as tk
root = tk.Tk()
st = tk.StringVar()
entry1 = tk.Entry(root, textvariable=st)
entry2 = tk.Entry(root, textvariable=st)
entry3 = tk.Entry(root, textvariable=st)
st.set('www.py3study.com')
entry1['state'] = 'normal'
entry2['state'] = 'readonly'
entry3['state'] = 'disabled'
entry1.pack()
entry2.pack()
entry3.pack()
root.mainloop()
效果:
设置为密码输入框
将Entry作为一个密码输入框来使用,即不显示用户输入的内容值,用特定符号来代替,使用属性show来指定
示例:
import tkinter as tk
root = tk.Tk()
st = tk.StringVar()
entry = tk.Entry(root, textvariable=st)
st.set('请输入密码')
entry.pack()
# 使用*来显示输入的内容,如果喜欢可以改为其它字符
entry['show'] = '*'
# 分别使用*#$显示输入的文本内容
for i in ['*', '#', '$']:
e = tk.StringVar()
entry = tk.Entry(root, textvariable=e)
e.set('password')
entry.pack()
entry['show'] = i
root.mainloop()
效果:
验证输入的内容是否符合要求
使用validate来校验输入的内容
示例:
import tkinter as tk
def text(content):
# 光标失去时,这个函数就会执行
if content == 'password':
print('正确')
print(content)
return True
else:
print('错误')
print(content)
return False
def main():
root = tk.Tk()
st = tk.StringVar()
# 需要用root.register将函数包装一下,必要的
test_cmd = root.register(text)
# %P表示 当输入框的值允许改变,该值有效,该值为当前文本框内容
entry = tk.Entry(root, textvariable=st, validate='focusout', validatecommand=(test_cmd, '%P'))
entry.pack()
root.mainloop()
if __name__ == '__main__':
main()
效果:
还有其他的属性 fg/bg/relief/width/height/justify/state 使用方法与 Button 相同,不再举例
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- sparc v8架构的异常处理
- 设计模式(五)-工厂方法模式
- html 的div或其他元素监听 resize事件不生效的解决办法
- 基于docker部署skywalking实现全链路监控
- 数据结构与算法(二)——十大排序算法
- VUE项目使用.env文件配置全局环境变量
- 设计模式学习(六)-抽象工厂模式
- 彻底完美解决安卓苹果手机点击输入框网页页面自动放大缩小
- 第22天:NLP实战(六)——基于PaddleHub的疫情期间网民情绪识别
- Echarts大数据可视化物流航向省份流向迁徙动态图,开发全解+完美参数注释
- Linux 常用操作以及概念
- GCD梳理与总结——封装
- 原生JS在网页上复制的所有文字后面自动加上一段版权声明
- 使用宝塔docker安装为知笔记私有部署
- 第4天:美团点评2020校招测试方向笔试试卷分析