在 tkinter 中,Entry 组件用于在窗口上创建一个单行文本输入框,用于接受用户的输入,此外还有Text组件用于多行文本的输入,两者用法类似。下面具体介绍Entry 组件常用的属性和方法:
一、常用属性
1、show:用于密码输入
entry = tk.Entry(app, show='*')
2、width:设置输入框的宽度
entry = tk.Entry(app, width=20)
3、bg:设置输入框的背景颜色
entry = tk.Entry(app, bg='lightgray')
4、fg:设置文字颜色
entry = tk.Entry(app, fg='lightgray')
5、state:设置输入框的状态,可以为 'normal'
、'disabled'
或 'readonly'
entry = tk.Entry(app, state="disabled")
二、常用方法
1、get():获取当前输入框中的文本
cur_text = entry.get()
2、delete(first, last=None):删除指定范围内的文本。如果只提供 first
参数,将删除该位置的单个字符
# 删除所有文本
entry.delete(0, tk.END)
3、config():用于修改输入框的属性
entry.config(state='disabled')
4、bind():可以将事件绑定到 Entry
组件
entry.bind('<Return>', event_get_value)
三、完整示例
import tkinter as tk
from tkinter import messagebox
app = tk.Tk()
app.geometry("500x300+400+300")
entry = tk.Entry(app, width=20)
entry.place(x=10, y=10)
def btn_get_value():
cur_text = entry.get()
messagebox.showinfo('show', cur_text)
def event_get_value(event):
cur_text = entry.get()
messagebox.showinfo('show', cur_text)
def set_show_style():
entry.config(show='*')
entry.config(state='disabled')
def delete_text():
entry.delete(0, tk.END)
entry.bind('<Return>', event_get_value)
btn1 = tk.Button(app, text='获取', command=btn_get_value)
btn1.place(x=10, y=40)
btn2 = tk.Button(app, text='加密禁用', command=set_show_style)
btn2.place(x=50, y=40)
btn3 = tk.Button(app, text='删除', command=delete_text)
btn3.place(x=110, y=40)
app.mainloop()
以上代码实现功能:输入框按回车获取输入框文本,点击按钮执行对应的功能,效果如下: