Python 3 – Tkinter的文本

Python 3 – Tkinter的文本

文本小部件提供了高级功能,允许您编辑多行文本并格式化其显示方式,例如更改其颜色和字体。

您还可以使用优雅的结构,如选项卡和标记,来定位文本的特定部分,并对这些区域应用更改。此外,您可以在文本中嵌入窗口和图像,因为此小部件旨在处理纯文本和格式化文本。

语法

这是创建此小部件的简单语法 –

w = Text(master,option,...)

参数

  • master - 这表示主窗口。

  • options - 这是此小部件的最常用选项列表。这些选项可以用逗号分隔的键值对形式使用。

序号 选项 & 描述
1 bg 文本小部件默认的背景颜色。
2 bd 文本小部件周围边框的宽度。默认为2像素。
3 cursor 当鼠标悬停在文本小部件上时显示的光标。
4 exportselection 通常选定文本小部件中的文本会用作窗口管理器中的选择。如果不想要这样的行为,请设置 exportselection = 0。
5 font 插入小部件中的默认字体。
6 fg 小部件内文本的颜色(和位图)。您可以更改已标记区域的颜色;此选项只是默认值。
7 height 小部件的高度(不是像素!)以行为单位,根据当前字体大小测量。
8 highlightbackground 当文本小部件没有焦点时,焦点高亮的颜色。
9 highlightcolor 当文本小部件具有焦点时,焦点高亮的颜色。
10 highlightthickness 焦点高亮的厚度。默认值为1。将 highlightthickness = 0 以防止显示焦点高亮。
11 insertbackground 插入光标的颜色。默认为黑色。
12 insertborderwidth 插入光标周围的3D边框的大小。默认为0。
13 insertofftime 插入光标在其闪烁周期中关闭的毫秒数。将此选项设置为零以防止闪烁。默认为300。
14 insertontime 插入光标在其闪烁周期中打开的毫秒数。默认为600。
15 insertwidth 插入光标的宽度(其高度由其行中最高物品确定)。默认为2像素。
16 padx 添加到文本区域左侧和右侧的内部填充的大小。默认为1像素。
17 pady 添加到文本区域上方和下方的内部填充的大小。默认为1像素。
18 relief 文本小部件的3D外观。默认值为 relief = SUNKEN。
19 selectbackground 显示选定文本时要使用的背景颜色。
20 selectborderwidth 选定文本周围要使用的边框宽度。
21 spacing1 此选项指定在每行文本上方放置多少额外的垂直空间。如果一行换行,此空间仅在它在显示器上占据的第一行上方添加。默认值为0。
22 spacing2 此选项指定逻辑行换行时,在显示的文本行之间添加多少额外的垂直空间。默认值为0。
23 spacing3 此选项指定每行文本下方添加多少额外的垂直空间。如果一行文本换行,此空间仅在其占用的最后一行后添加。默认值为0。
24 state 正常情况下,文本小部件会响应键盘和鼠标事件;设置 state = NORMAL 可获得此行为。如果设置 state = DISABLED,则文本小部件不会响应,也无法通过编程方式修改其内容。
25 tabs 此选项控制制表符如何定位文本。
26 width 部件的宽度以字符为单位(不是像素),根据当前字体大小测量。
27 wrap 此选项控制过宽的行的显示。设置 wrap = WORD,它将在最后适合的单词后断开该行。使用默认行为,wrap = CHAR,任何过长的行都将在任何字符处断开。
28 xscrollcommand 要使文本小部件水平可滚动,请将此选项设置为水平滚动条的 set() 方法。
29 yscrollcommand 要使文本小部件垂直可滚动,请将此选项设置为垂直滚动条的 set() 方法。

方法

文本对象具有以下方法−

序号 方法及说明
1 delete(startindex [,endindex]) 此方法删除特定字符或文本范围。
2 get(startindex [,endindex]) 此方法返回特定字符或文本范围。
3 index(index) 根据给定的索引返回索引的绝对值。
4 insert(index [,string]…) 此方法在指定的索引位置插入字符串。
5 see(index) 如果位于索引位置的文本是可见的,则此方法返回true。

文本小部件支持三种不同的助手结构:标记、制表符和索引:

标记用于在给定的文本中两个字符之间的位置上做标记。在处理标记时,我们有以下可用的方法−

序号 方法及说明
1 index(mark) 返回特定标记的行列位置。
2 mark_gravity(mark [,gravity]) 返回给定标记的重力。如果提供了第二个参数,则为给定标记设置重力。
3 mark_names() 返回文本小部件中的所有标记。
4 mark_set(mark, index) 向给定标记通知新位置。
5 mark_unset(mark) 从文本小部件中删除给定标记。

标签用于将名称与文本区域的区域关联起来,从而易于修改特定文本区域的显示设置。标签还用于将事件回调绑定到特定文本范围。

以下是处理制表符的可用方法−

序号 方法及说明
1 tag_add(tagname, startindex[,endindex] …) 此方法对由startindex定义的位置,或由startindex和endindex定义的范围进行标记。
2 tag_config 您可以使用此方法配置标记属性,这些属性包括,对齐(居中,左,右),制表符(此属性具有与文本小部件制表符属性相同的功能)和下划线(用于下划线带有标记的文本)。
3 tag_delete(tagname) 此方法用于删除和移除给定的标记。
4 tag_remove(tagname [,startindex[.endindex]] …) 应用此方法后,给定标记将从提供的区域中删除,而不删除实际的标记定义。

示例

请自行尝试以下示例−

# !/usr/bin/python3
from tkinter import *

root = Tk()
text = Text(root)
text.insert(INSERT, "Hello.....")
text.insert(END, "Bye Bye.....")
text.pack()

text.tag_add("here", "1.0", "1.4")
text.tag_add("start", "1.8", "1.13")
text.tag_config("here", background = "yellow", foreground = "blue")
text.tag_config("start", background = "black", foreground = "green")
root.mainloop()

结果

当上述代码被执行时,它将产生以下结果 −

Python 3 - Tkinter的文本

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程