09_组件Entry
Entry
输入框
通常用于获取用户的输入文本。相当于html中的input
仅允许用于输入一行文本,如果输入的字符串长度过长,内容将被滚动。无法一次显示全部
import tkinter as tk
window = tk.Tk()
window.title('hello thinter')
height = window.winfo_screenheight()
width = window.winfo_screenwidth()
window.geometry('400x300+%d+%d' % ((width - 400) / 2, (height - 300) / 2))
tk.Label(window, text="文本").pack()
v = tk.StringVar()
text = tk.Entry(window, textvariable=v) # 使用textvariable绑定v
# text.delete(0,"end")
# text.insert(0,'设置默认值')
v.set("hello!")
text.pack()
def input_text():
param = text.get()
print("输入:", param)
tk.Button(window, text="获取文本值", command=input_text).pack()
window.mainloop()
选项 | 含义 |
---|---|
width | 1,设置输入框宽度,默认20(字符) 2,对于变宽字体,组件实际宽度 = 字体平均宽度 x 该选项设置值 |
exportselection | 指定选中文本是否可以被复制,默认True |
insertbackground | 输入光标颜色 |
insertborderwidth | 1,输入光标边框宽度 2,设置为非 0 值,光标样式会被设置为RAISED |
insertofftime、insertontime | 控制光标闪烁频率 灭,亮(毫秒) |
insertwidth | 指定光标宽度,默认1或2像素 |
selectbackground | 输入框的文本选中时的背景颜色,默认由系统指定 |
selectborderwidth | 输入框的文本选中时的边框宽度,默认由系统指定 |
selectforeground | 输入框的文本选中时的字体颜色,默认由系统指定 |
show | 1,设置输入框以指定字符显示文本 2,若设置为 '*',密码显示 * |
validate | 是否启用内容验证 |
incmd(即invalidcommand) | 1,当输入框输入内容"非法"时调用的函数 2,当validateCommand指定函数返回False |
vcmd(即validatecommand) | 1,指定验证函数,验证输入框内容是否合法,返回True,False 2,此选项,只有开启validate选项时才有效 |
xscrollcommand | 1,与组件scrollbar(滚动条)相关联(水平方向) 2,若输入内容超过该组件宽度,可以考虑设置 |
其他选项 | 参考其他组件 |
1,delete(first, last=None)
删除参数 first 到 last 范围内(包含 first 和 last)的所有内容
如果忽略 last 参数,表示删除 first 参数指定的选项
使用 delete(0, END) 实现删除输入框的所有内容
2,get()
获得当前输入框的内容
3,index(index)
返回与 index 参数相应的选项的序号(例如 e.index(END))
4,insert(index, text)
将 text 参数的内容插入到 index 参数指定的位置
使用 insert(INSERT, text) 将 text 参数指定的字符串插入到'光标的位置'
使用 insert(END, text) 将 text 参数指定的字符串插入到输入框的'末尾'
5,icursor(index)
将光标移动到 index 参数指定的位置,同时也会设置 INSERT 的值
6,scan_mark(x)、scan_dragto(x)
使用这种方式来实现输入框内容的滚动
需要将鼠标按下事件绑定到 scan_mark(x) 方法(x 是鼠标当前的水平位置),然后再将 <motion> 事件绑定到 scan_dragto(x) 方法(x 是鼠标当前的水平位置),就可以实现输入框在当前位置和 sacn_mack(x) 指定位置之间的水平滚动
7,selection_adjust(index)、select_adjust(index)
确保输入框中选中的范围包含 index 参数所指定的字符
如果选中的范围已经包含了该字符,那么什么事情也不会发生;若不包含该字符,那么从光标的位置将选中的范围扩展至该字符
8,selection_clear()、select_clear()
取消选中状态
9,selection_from(index)、select_from(index)
开始一个新的选中范围
会设置 ANCHOR 的值
10,selection_present()、select_present()
返回输入框是否有处于选中状态的文本,如果有则返回 True,否则返回 False
11,selection_range(start, end)、select_range(start, end)
设置选中范围
start 参数必须必 end 参数小,使用 selection_range(0, END) 选中整个输入框的所有内容
12,selection_to(index)、select_to(index)
选中 ANCHOR 到 index 参数的间的所有内容
13,xview(index)
该方法用于确保给定的 index 参数所指定的字符可见
如有必要,会滚动输入框的内容
14,xview_moveto(fraction)
根据 fraction 参数给定的比率调整输入框内容的可见范围
fraction 参数的范围是 0.0 ~ 1.0,0.0 表示输入框的开始位置,1.0 表示输入框的结束位置
15,xview_scroll(number, what)
根据给定的参数水平滚动输入框的可见范围
number 参数指定滚动的数量,如果是负数则表示反向滚动
what 参数指定滚动的单位,可以是 UNITS 或 PAGES(UNITS 表示一个字符单元,PAGES 表示一页)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理