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)

删除参数 firstlast 范围内(包含 firstlast)的所有内容
如果忽略 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 表示一页)
posted @   interesting5319  阅读(46)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示