Python 专题

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

2022-07-01  本文已影响0人  小鱼儿_yzh

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()

  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值示例
上一篇下一篇

猜你喜欢

热点阅读