Python tkinter - 第六章 输入控件(Entry)&属性

第6章输入控件(Entry)
输入控件(Entry. 是用来输入或者显示单行字符串的控件。该控件允许用户输入或显示一行文字。 如果用户输入的文字长度大于Entry 控件的可显示范围时, 文字会向后滚动。 这种情况下所输入的字符串无法全部显示。可以通过移动光标,将不可见的文字部分移入可见区域。如果你想要输入多行文本, 就需要使用Text 控件。
6.1 属性
6.1.1 属性列表

属性参数 描述
background
bg
设置背景颜色,如bg=‘red’
borderwidth
bd
输入控件的边框宽度。默认是1-2个像素。
cursor 输入控件的光标。默认是字符插入光标(一般是一个“I-beam”类型的光标)
disabledbackground 定义输入控件被禁止使用时的背景颜色。
disabledforeground 定义输入控件被禁止时的前景(文本)颜色。
exportselection 定义是否把选中的文本,自动拷贝到剪贴板。这个参数对输入控件不起作用
fg
foreground
设置前景(文本)颜色
font 设置字体类型与大小
highlightbackground 定义输入控件没有获得输入焦点状态下的高亮背景颜色。就是输入框的亮边。
highlightcolor 与highlightbackground属性类似。不过是输入控件获得输入焦点时的边框颜色。
highlightthickness 输入控件获得或者失去输入焦点时的边框宽度。一般1-2个像素。
insertbackground 输入控件中,插入光标的颜色
insertborderwidth 插入光标的边框显示宽度。如果是一个非0的数值,光标会使用RAISED效果的边框。
insertofftime
insertontime
这两个属性控制插入光标闪烁效果。就是插入光标的出现和消失的时间。单位是毫秒。
insertwidth 插入光标的宽度。
invalidcommand
invcmd
验证输入合法性的回调函数,但不能独立使用。只有设置了validatecommand回调函数且该函数返回False的情况下,才会激活invalidcommand定义的回调函数。
justify 定义输入控件中文本的对齐方式。可以设置的数值为:LEFT, CENTER, RIGHT. 默认数值是LEFT.
readonlybackground 设置输入控件为“只读”模式的背景颜色
relief 设定输入控件的3D效果,默认是flat,可以设置的参数;flat、groove、raised、ridge、solid、sunken,如relief=‘groove’
selectbackground 设置选中区域的背景颜色
selectborderwidth 设置选中区域边框宽度。
selectforeground 设置选中区域的前景(文本)颜色
show 定义如何显示输入控件中的内容。如果是非空的,控件会用定义的字符取代真实的内容。比如输入密码时,一般使用”*”替代真实的输入内容。
state 定义输入控件的状态。状态有三种:NORMAL, DISABLED, READONLY。(READONLY与DISABLED类似, 只是显示的内容可以选择与拷贝。
takefocus 定义是否可以使用Tab键移动输入焦点到输入控件。
textvariable 关联的tkinter变量,一般是StringVar类型。如果该变量改变,则输入控件中的内容也会更新。
validate 定义在什么条件下触发验证输入内容:
focus:获得或者失去输入焦点时候
focuin:仅在获得输入焦点的时候
focusout: 失去输入焦点的时候
key: 改变内容的时候
ALL:以上全部情况
该属性定义的是何时启动输入验证,而验证输入内容的回调函数由validatecommand或者invalidcommand定义
validatecommand
vcmd
定义一个函数去验证与检查输入内容。如果输入的内容符合要求,该函数返回True,否则返回False。此属性在validate不空的时候有效。
width 定义输入控件的宽度,单位是字符。
xscrollcommand 将滚动条与输入控件关联起来,处理滚动条动作。滚动条只能是水平滚动条。
6.1.2 background(bg)
设置输入控件的背景颜色。bg是缩写,与background是一样的。
import tkinter as tk

root=tk.Tk()
root.geometry('300x240')

b1=tk.Entry(root,bg='yellow',width=20)
b1.pack()
root.mainloop()

结果:

  • 24
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Pythontkinter库中,你可以使用`entry`控件的`insert`方法来在控件中显示默认文本。例如: ```python import tkinter as tk root = tk.Tk() # 创建一个Entry控件 entry = tk.Entry(root) # 在Entry控件中插入默认文本 entry.insert(0, "请输入文本") entry.pack() root.mainloop() ``` 在上面的例子中,我们在`entry`控件中插入了默认文本"请输入文本"。`insert`方法的第一个参数表示插入的位置,第二个参数表示插入的文本。这里的位置为0,表示在控件的起始位置插入文本。 当用户单击`entry`控件时,该默认文本将被删除,用户可以输入自己的文本。你可以使用`bind`方法来绑定事件,以便在用户单击`entry`控件时删除默认文本。例如: ```python import tkinter as tk root = tk.Tk() def on_entry_click(event): """当Entry控件被单击时,删除默认文本""" if entry.get() == "请输入文本": entry.delete(0, tk.END) # 创建一个Entry控件 entry = tk.Entry(root) # 在Entry控件中插入默认文本 entry.insert(0, "请输入文本") # 绑定单击事件 entry.bind("<Button-1>", on_entry_click) entry.pack() root.mainloop() ``` 在上面的例子中,我们定义了一个`on_entry_click`函数来处理单击事件。如果`entry`控件中的文本为"请输入文本",则使用`delete`方法删除该文本。然后,我们使用`bind`方法将该函数绑定到`entry`控件的单击事件上。这样,当用户单击`entry`控件时,该默认文本就会被删除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值