Tkinter 教程-Python Tkinter 文本框
文本框小部件用于在Python应用程序中显示文本数据。然而,Tkinter还提供了Entry小部件,用于实现单行文本框。
文本框小部件用于显示具有各种样式和属性的多行格式文本。文本小部件主要用于为用户提供文本编辑器。
文本框小部件还方便我们使用标记和制表符来定位文本的特定部分。我们还可以在文本中使用窗口和图像,因为它也可以用于显示格式化文本。
使用文本框小部件的语法如下。
语法
w = Text(top, options)
以下是可以与文本框小部件一起使用的可能选项列表。
SN | 选项 | 描述 |
---|---|---|
1 | bg | 小部件的背景颜色。 |
2 | bd | 表示小部件的边框宽度。 |
3 | cursor | 将鼠标指针更改为指定的光标类型,如箭头、点等。 |
4 | exportselection | 选定的文本被导出到窗口管理器中的选择。如果不希望导出文本,可以将其设置为0。 |
5 | font | 文本的字体类型。 |
6 | fg | 小部件的文本颜色。 |
7 | height | 小部件的垂直维度,以行为单位。 |
8 | highlightbackground | 小部件没有焦点时的高亮颜色。 |
9 | highlightthickness | 焦点高亮的厚度。默认值为1。 |
10 | highlighcolor | 小部件具有焦点时的焦点高亮颜色。 |
11 | insertbackground | 表示插入光标的颜色。 |
12 | insertborderwidth | 表示光标周围的边框宽度。默认值为0。 |
13 | insertofftime | 在闪烁周期中插入光标关闭的毫秒数。 |
14 | insertontime | 在闪烁周期中插入光标打开的毫秒数。 |
15 | insertwidth | 表示插入光标的宽度。 |
16 | padx | 小部件的水平填充。 |
17 | pady | 小部件的垂直填充。 |
18 | relief | 边框的类型。默认为SUNKEN。 |
19 | selectbackground | 选定文本的背景颜色。 |
20 | selectborderwidth | 选定文本周围的边框宽度。 |
21 | spacing1 | 指定在文本每一行上方给定的垂直空间量。默认值为0。 |
22 | spacing2 | 此选项指定在逻辑行包装时在显示的文本行之间添加多少额外的垂直空间。默认值为0。 |
23 | spacing3 | 指定在文本每一行下方插入的垂直空间量。 |
24 | state | 如果状态设置为DISABLED,则小部件对鼠标和键盘无响应。 |
25 | tabs | 此选项控制如何使用制表符字符定位文本。 |
26 | width | 以字符为单位表示小部件的宽度。 |
27 | wrap | 此选项用于将较宽的行包装到多行。将此选项设置为WORD,以在适用空间中包装单词之后包装行。默认值为CHAR,它在任何字符处将过宽的行断开。 |
28 | xscrollcommand | 要使文本框小部件水平滚动,可以将此选项设置为Scrollbar小部件的set()方法。 |
29 | yscrollcommand | 要使文本框小部件垂直滚动,可以将此选项设置为Scrollbar小部件的set()方法。 |
方法
我们可以使用以下方法与文本框小部件一起使用。
SN | 方法 | 描述 |
---|---|---|
1 | delete(startindex, endindex) | 用于删除指定范围的字符。 |
2 | get(startindex, endindex) | 返回指定范围内的字符。 |
3 | index(index) | 用于获取指定索引的绝对索引。 |
4 | insert(index, string) | 用于在给定索引处插入指定的字符串。 |
5 | see(index) | 根据指定索引的文本是否可见,返回布尔值true或false。 |
标记处理方法
标记用于在关联文本的字符之间设置书签。
SN | 方法 | 描述 |
---|---|---|
1 | index(mark) | 用于获取指定标记的索引。 |
2 | mark_gravity(mark, gravity) | 用于获取给定标记的重力。 |
3 | mark_names() | 用于获取文本框小部件中的所有标记。 |
4 | mark_set(mark, index) | 用于通知给定标记的新位置。 |
5 | mark_unset(mark) | 用于从文本中删除给定的标记。 |
标签处理方法
标签是分配给文本的不同区域的名称。标签用于分别配置文本的不同区域。以下是标签处理方法的列表以及描述。
SN | 方法 | 描述 |
---|---|---|
1 | tag_add(tagname, startindex, endindex) | 用于标记指定范围内的字符串。 |
2 | tag_config | 用于配置标签属性。 |
3 | tag_delete(tagname) | 用于删除给定的标签。 |
4 | tag_remove(tagname, startindex, endindex) | 用于从指定范围内删除标签。 |
示例
from tkinter import *
top = Tk()
text = Text(top)
text.insert(INSERT, "Name.....")
text.insert(END, "Salary.....")
text.pack()
text.tag_add("Write Here", "1.0", "1.4")
text.tag_add("Click Here", "1.8", "1.13")
text.tag_config("Write Here", background="yellow", foreground="black")
text.tag_config("Click Here", background="black", foreground="white")
top.mainloop()
输出: