Python 官方文档:入门教程 => 点击学习
Entry 用来输入单行文本示例:import tkinter as tk root = tk.Tk() tk.Entry(root, text='input &
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 相同,不再举例
--结束END--
本文标题: tkinter -- Entry
本文链接: https://www.lsjlt.com/news/179093.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0