Python Tkinter Text文本
Python Tkinter文本
Text小部件用于显示Python应用程序上的文本数据。但是,Tkinter为我们提供了Entry小部件,用于实现单行文本框。
“文本”小组件用于显示具有各种样式和属性的多行格式化文本。 Text小部件主要用于向用户提供文本编辑器。
Text小部件还便于我们使用标记和选项卡来定位Text的特定部分。我们还可以使用带有文本的窗口和图像,因为它也可以用于显示格式化文本。
下面给出了使用Text小部件的语法。
句法
w = Text(top, options)
下面给出了可以与Text小部件一起使用的可能选项列表。
SN选项说明
1 bg小部件的背景颜色。
2 bd它表示小部件的边框宽度。
3cuesor鼠标指针变为指定的光标类型,即箭头,点等。
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小部件的垂直填充。
18relief边界的类型。 SUNKEN默认为。
19 selectbackground所选文本的背景颜色。
20 selectborderwidth所选文本周围边框的宽度。
21 spacing1它指定文本每行上方给出的垂直空间量。默认值为0。
22 spacing2此选项指定在逻辑行换行时在显示的文本行之间添加多少额外垂直空间。默认值为0。
23 spacing3它指定要在文本的每一行下面插入的垂直空间量。
24state状态设置为DISABLED,窗口小部件对鼠标和键盘没有响应无响应。
25tabs此选项控制制表符如何用于定位文本。
26 width它表示小部件的宽度(以字符为单位)。
27 wrap此选项用于将较宽的行包装成多行。将此选项设置为WORD以将行包装在适合可用空间的单词之后。默认值为CHAR,它会破坏任何字符都过宽的行。
28 xscrollcommand要使Text小部件可以水平滚动,我们可以将此选项设置为Scrollbar小部件的set()方法。
29 yscrollcommand为了使Text小部件可以垂直滚动,我们可以将此选项设置为Scrollbar小部件的set()方法。
方法
我们可以在Text小部件中使用以下方法。
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()用于获取Text小部件中的所有标记。
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()
输出: