小鱼儿学Tkinter-Entry 单行文本框-前端论坛-技术分享-千百度社区

小鱼儿学Tkinter-Entry 单行文本框

小鱼儿学Tkinter-Entry 单行文本框

Entry 控件:用来输入单行文本

  1. 一个简单的 Entry
from tkinter import *
root = Tk()
root.geometry('200x100')
Entry(root , text = 'input your text here' ).pack(pady = 20)
root.mainloop()

简单Entry 示例

上面的代码想要创建一个 Entry 对象,并且在上面显示‘input your text here’,运行代码发现,并没有看到文本显示,由此可知与 Label 和 Button 不同,Entry 的 text 属性不可以设置 Entry 的文本。

  1. 在Entry中设置初值:使用textvariable 将变量与 Entry 绑定
root = Tk()
root.geometry('200x100')
e = StringVar()
entry = Entry(root , textvariable = e )
e.set('input your text here')
entry.pack(pady = 20)
root.mainloop()

设置Entry初值示例

上面的例子中将变量 e 与 Entry 绑定,然后将 e 的值设置为’input your text here’,则程序运行时 Entry 就设置了初始值。点击鼠标文本不会消失。

  1. bind 绑定事件,单点后初始提示文字消失
from tkinter import *
root = Tk()
root.geometry('200x100')
def clear_entry(event):
    e.set('')
e = StringVar()
entry = Entry(root , textvariable = e )
e.set('input your text here')
entry.pack(pady = 20)
entry.bind('<Button-1>',clear_entry)
root.mainloop()

  1. 设置为只读 Entry ,state属性
from tkinter import *
root = Tk()
root.geometry('200x100')
def clear_entry(event):
    e.set('')
e = StringVar()
entry = Entry(root , textvariable = e )
e.set('input your text here')
entry.pack(pady = 20)
entry['state'] = 'readonly'
entry.bind('<Button-1>',clear_entry)

root.mainloop()

  • 上例程序运行后能看出,文本框里的背景色为灰色,点击后文本会消失,但不能输入新的文本。
  • Entry 的属性值可以使用的有:normal 、readonly 、disabled
  • readonly 与 disabled 一样的效果。

    Entry设置只读属性示例

  1. 设置为密码输入框 ,show属性
    将Entry作为一个密码输入框来使用,即不显示用户输入的内容值,用特定符号代替。使用show属性来指定。
from tkinter import *
root = Tk()
root.geometry('200x100')
def clear_entry(event):
    e.set('')
e = StringVar()
entry = Entry(root , textvariable = e )
e.set('input your text here')
entry.pack(pady = 20)
entry['show'] = '*'
entry.bind('<Button-1>',clear_entry)

root.mainloop()

Entry作密码框示例

  1. 获取 Entry 的值
    键盘响应事件,输入文本后按回车调用 get_entry
from tkinter import *
root = Tk()
root.geometry('200x100')
def clear_entry(event):
    e.set('')
def get_entry(event):
    print(e.get())
e = StringVar()
entry = Entry(root , textvariable = e )
e.set('input your text here')
entry.pack(pady = 20)
entry['show'] = '*'
entry.bind('<Button-1>',clear_entry)
entry.bind('<Return>',get_entry)
root.mainloop()

获取Entry值示例 最后编辑于 : 2022.07.02 19:58:59 © 著作权归作者所有,转载或内容合作请联系作者

请登录后发表评论

    没有回复内容