【Tkinter系列11/15】小部件 (Text)
24. 小部件Text
文本小部件是一种更通用的方法 处理比小部件多行文本。文本小部件几乎是一个完整的文本 窗口中的编辑器:Label
-
您可以将文本与不同的字体、颜色和 背景。
-
您可以用文本穿插嵌入的图像。一 图像被视为单个字符。请参见第 24.3 节 “文本小部件图像”。
-
索引是一种描述方式 文本的两个字符之间的特定位置 控件。请参见第 24.1 节 “文本小部件索引”。
-
文本小部件可能包含字符之间的不可见标记对象 位置。请参见第 24.2 节 “文本小部件标记”。
-
文本微件允许您定义区域的名称 称为标记的文本。您可以 更改标记区域的外观,更改其 字体、前景色和背景色以及其他 选择。请参见第 24.5 节 “文本小部件标签”。
-
您可以将事件绑定到标记区域。参见第 54 节 “事件”。
-
您甚至可以在 包含任何 Tkinter 小部件的“窗口”——甚至是包含其他 部件。窗口也被视为单个窗口 字符。请参见第 24.4 节 “文本小部件窗口”。
创建文本构件作为根窗口的子窗口或 框架命名 :parent
w = tk.Text( parent , option , ...)
构造函数返回新小部件。 选项包括:Text
表 33.文本
微件选项
autoseparators | 如果设置了该选项,则该选项控制是否 分隔符会自动添加到撤消中 每次插入或删除后堆叠(如果)或不插入或不插入(如果)。有关概述 撤消机制,请参见第 24.7 节 “文本小部件撤消/重做” 堆栈”。undo autoseparators autoseparators=True autoseparators=False |
bg 或background | 文本构件的默认背景色。 请参见第 5.3 节 “颜色”。 |
bd 或borderwidth | 文本构件周围的边框宽度; 请参见第 5.1 节 “尺寸”。这 默认值为两个像素。 |
cursor | 鼠标悬停时将出现的光标 文本微件。请参见第 5.8 节 “游标”。 |
exportselection | 通常,在文本小部件中选择的文本是 导出为窗口管理器中的选择。 如果不设置,请设置 想要这种行为。exportselection=0 |
font | 插入到构件中的文本的默认字体。 请注意,您可以在 通过使用标签更改属性的小组件 一些文字。请参见第 5.4 节 “键入字体”。 |
fg 或foreground | 用于的颜色 小部件中的文本(和位图)。您可以 更改标记区域的颜色;此选项是 只是默认值。 |
height | 小部件的高度(以线条为单位)(不是像素!),测量 根据当前大小。font |
highlightbackground | 颜色 当文本构件没有焦点时突出显示 重点。请参见第 53 节 “焦点:路由键盘输入”。 |
highlightcolor | 颜色 当“文本”微件具有焦点时,焦点突出显示。 |
highlightthickness | 焦点的粗细突出显示。默认值为 。设置为禁止显示 的焦点突出显示。1 highlightthickness=0 |
insertbackground | 颜色 插入光标。默认值为黑色。 |
insertborderwidth | 插入光标周围的三维边框的大小。 默认值为 。0 |
insertofftime | 插入光标的毫秒数 在其眨眼周期内关闭。将此选项设置为 零表示抑制闪烁。默认值为 300。 |
insertontime | 插入光标的毫秒数 在其眨眼周期内打开。默认值为 600。 |
insertwidth | 插入光标的宽度(其高度为 由其行中最高的项目决定)。 默认值为 2 像素。 |
maxundo | 此选项设置最大操作数 保留在撤消堆栈上。有关概述 撤消机制,请参见第 24.7 节 “文本小部件撤消/重做” 堆栈”。将此选项设置为 -1 以指定无限制 撤消堆栈中的条目数。 |
padx | 添加到左侧的内部填充的大小 和文本区域的右侧。默认值为一个像素。 有关可能的值,请参见第 5.1 节 “维度”。 |
pady | 上面添加的内部填充的大小和 文本区域下方。默认值为一个像素。 |
relief | 文本构件的三维外观。默认值为 ;有关其他值,请参见第 3.5 节 “浮雕样式”。relief=tk.SUNKEN |
selectbackground | 用于显示所选文本的背景色。 |
selectborderwidth | 要在选定边框周围使用的边框宽度 发短信。 |
selectforeground | 用于显示所选文本的前景色。 |
spacing1 | 此选项指定多少额外的垂直空间 放在每行文本的上方。如果一行换行, 此空格仅在第一行之前添加 占据显示屏。默认值为 。0 |
spacing2 | This option specifies how much extra vertical space to add between displayed lines of text when a logical line wraps. Default is . 0 |
spacing3 | 此选项指定多少额外的垂直空间 添加到每行文本下方。如果一行换行, 此空格仅在最后一行之后添加 占据显示屏。默认值为 。0 |
state | 通常,文本小部件响应键盘和 鼠标事件;设置为 获取此行为。如果设置 ,则文本构件将不会 响应,您将无法修改其 内容以编程方式。state=tk.NORMAL state=tk.DISABLED |
tabs | 此选项控制制表符的位置 发短信。请参见第 24.6 节 “在文本构件中设置选项卡”。 |
takefocus | 通常,焦点将访问文本小部件(请参见第 53 节 “焦点:路由键盘输入”)。如果您不希望在微件中聚焦,请设置。takefocus=0 |
undo | 将此选项设置为启用 撤消机制,或 禁用它。请参见第 24.7 节 “文本小部件撤消/重做” 堆栈”。True False |
width | 小部件的宽度(以字符为单位)(不是像素! 根据当前字体大小进行测量。 |
wrap | 此选项控制以下行的显示: 太宽了。
|
xscrollcommand | 要使文本构件水平滚动, 将此选项设置为方法 的水平滚动条。.set |
yscrollcommand | 要使文本微件可垂直滚动,请设置 此选项的方法 垂直滚动条。.set |
24.1. 小部件索引Text
索引是 指定文本微件内容中的位置。 索引是具有以下形式之一的字符串:
'
line
.column
'
给定(从零开始计数)之前的位置 给定(计数) 从一)。示例:是 文本开头的位置; 是第四个之前的位置 第二行的字符。column
line
'1.0'
'2.3'
'
line
.end'
在 给定的行(从一开始计数)。所以,对于 例如,索引是 位置在第十行的末尾。'10.end'
tk.INSERT
插入光标在文本中的位置 控件。此常量等于字符串 。'insert'
tk.CURRENT
最靠近鼠标的字符的位置 指针。此常量等于字符串 。'current'
tk.END
文本最后一个字符之后的位置。 此常量等于字符串 。'end'
tk.SEL_FIRST
如果小部件中的某些文本当前处于选中状态 (如将鼠标拖到其上),这是位置 在选择开始之前。如果您尝试使用 此索引未选择任何内容,将引发异常。 此常量等于字符串 。tk.TclError
'sel.first'
tk.SEL_LAST
所选内容结束后的位置(如果有)。如 使用 ,如果使用此类索引,则会出现异常 并且没有选择。 此常量等于字符串 。SEL_FIRST
tk.TclError
'sel.last'
'
markname
'
您可以使用标记作为索引;只需传递其名称 预期索引的位置。请参见第 24.2 节 “文本小部件标记”。
'
tag
.first'
第一个字符之前的位置 用名称标记的区域;请参见第 24.5 节 “文本小部件标签”。tag
'
tag
.last'
标记的最后一个字符之后的位置 地区。
'@
x
,y
'
最接近 坐标 (, )。x
y
embedded-object
如果文本中嵌入了图像或窗口 小部件,您可以使用 、 或嵌入式小部件作为 一个索引。请参见第 24.3 节 “文本小部件图像”和第 24.4 节 “文本小部件窗口”。PhotoImage
BitmapImage
除了上述基本索引选项外,您还可以 通过添加任意 基本索引或索引表达式的这些后缀:
+
n
chars
从给定索引中,向前移动字符。 此操作将跨越线边界。n
例如,假设第一行看起来像 这:
abcdef
索引表达式 “” 表示位置 介于 和 之间。你 可以省略这些中的空白和缩写关键字 表达式(如果结果明确)。这 示例可以缩写为 “”。1.0 + 5 chars
e
f
1.0+5c
-
n
chars
与前面的形式类似,但位置向后移动字符。n
+
n
lines
将行移过给定索引。特金特试图离开 同一列中的新位置与在 行它左边,但如果新位置的线是 较短,新位置将在 线。n
-
n
lines
移动给定索引之前的行。n
linestart
移动到第一个字符之前的位置 给定的索引。例如,位置 "" 指最接近 鼠标指针。current linestart
lineend
移动到最后一个字符之后的位置 给定的索引。例如,位置 "" 指包含结尾的行的末尾 的当前选择。sel.last lineend
wordstart
单词开头之前的位置 包含给定的索引。例如,索引 "" 指包含 第 44 行的第 11 位。11.44 wordstart
就此操作而言,一个词是 连续字母、数字或 下划线 () 字符或单个 不是这些类型的字符。_
24.2. 小部件标记Text
标记表示浮动 位于文本微件内容中的某个位置。
-
您可以通过为每个标记命名来处理它。这个名字 可以是不包含空格的任何字符串,也可以是 时期。
-
有两个特殊标记。 是插入光标的当前位置,并且是最接近 鼠标光标。
tk.INSERT
tk.CURRENT
-
标记与相邻内容一起浮动。如果你 修改远离标记的文本,即标记 相对于其直接位置保持在同一位置 邻居。
-
标记具有称为重力的属性,用于控制发生的情况 在标记处插入文本时。默认重力为 ,这意味着当新文本 插入该标记处,标记保留在 新文本。如果将标记的重力设置为 (使用文本小部件的方法),则标记将保持在 位于该标记处新插入的文本之前的位置。
tk.RIGHT
tk.LEFT
.mark_gravity()
-
删除标记周围的文本不会删除 标记。如果要删除标记,请使用文本上的方法 控件。
.mark_unset()
请参阅下面的第 24.8 节 “文本小部件上的方法”,以查看 如何使用标记。
24.3. 小部件图像Text
您可以将图像或位图放入文本构件中。是的 被视为大小为自然的单个字符 对象的大小。请参见第 5.9 节 “图像”和第 5.7 节 “位图”。
图像通过调用 小部件的方法。看 下面是调用序列和其他方法 图像处理。.image_create()
通过将图像名称传递给方法来操作图像 在文本微件上。你可以给特金特起一个名字 图像,或者您可以让 Tkinter 生成默认值 该映像的名称。
图像可以在同一小部件中出现任意次数。每个实例将携带一个 唯一名称。此名称可用作索引。Text
24.4. 小部件窗口Text
您可以放置任何 Tkinter 小部件——甚至是框架 包含其他微件 - 到文本微件中。为 例如,您可以放置一个功能齐全的按钮或一组 的单选按钮到文本小部件中。
在 文本微件以添加嵌入微件。对于召唤 序列和相关方法,请参见第 24.8 节 “文本小部件上的方法”。.window_create()
24.5. 小部件标签Text
有很多方法可以更改外观和 文本微件中项目的功能。对于文本, 您可以更改字体、大小和颜色。另外,您可以 使文本、小部件或嵌入的图像响应 键盘或鼠标操作。
要控制这些外观和功能特性,您需要 将每个要素与标记关联。 然后,您可以将标签与任意数量的 微件中的文本。
-
标签的名称可以是任何不 包含空格或句点。
-
有一个特殊的预定义标记称为 。这是当前选择的区域, 如果有的话。
SEL
-
由于任何字符都可能是多个标签的一部分, 有一个标签堆栈 对所有标签进行排序。条目添加在 标记列表和更高条目的优先级高于 较早的条目。
因此,例如,如果有一个字符
c
是两个字符的一部分 标记区域 T1
和T2
, 并且 t1
在标签堆栈中比t 2
更深, T 1 希望文本为绿色,T 2 希望文本为蓝色,C
将呈现为蓝色,因为T 2
优先于T
1
。 -
您可以更改标签堆栈中标签的顺序。
标签是使用文本构件上的方法创建的。有关这方面的信息,请参见下面的第 24.8 节 “文本小部件上的方法” 及相关方法。.tag_add()
24.6. 在小部件中设置选项卡Text
微件选项为您提供了多种设置制表位的方法 在小部件中。tabs
Text
-
默认设置是每八个字符放置制表符。
-
若要设置特定的制表位,请将此选项设置为 一个或多个距离的序列。例如 设置将 将制表位放在距左侧 3、5 和 12 厘米的位置。 超过您设置的最后一个选项卡,选项卡具有相同的宽度 作为最后两个现有选项卡之间的距离 停止。所以,继续我们的例子,因为是 7 厘米,如果用户继续按 Tab 键,光标将是 定位在 19 厘米、26 厘米、33 厘米等。
tabs=('3c', '5c', '12c')
12c-5c
-
通常,制表符后面的文本与 其左边缘位于制表位上,但您可以包括 距离后列表中的任何关键字、或,以及 这将更改文本之后的位置 每个选项卡。
tk.LEFT
tk.RIGHT
tk.CENTER
tk.NUMERIC
-
制表位具有默认值 行为。
tk.LEFT
-
制表位将定位 文本,使其右边缘位于停止点上。
tk.RIGHT
-
选项卡将 制表位上的文本后面。
tk.CENTER
-
制表位将放置 在停止左侧跟随文本,直到 第一个句点 () 中的 文本 - 之后,句点将居中 停止,文本的其余部分将定位为 它的权利。
tk.NUMERIC
'.'
例如,设置将设置四个制表位:左对齐的制表位半个 距左侧英寸,右对齐制表位 距左侧 0.8 英寸,居中对齐的制表位 左起 1.2 英寸,数字对齐的制表位 左起 2 英寸。
tabs=('0.5i', '0.8i', tk.RIGHT, '1.2i', tk.CENTER, '2i', tk.NUMERIC)
-
24.7. 小部件撤消/重做 叠Text
小部件具有内置机制 允许您实施撤消和重做操作 可以取消或恢复对其中文本的更改 小部件。Text
以下是撤消/重做堆栈的工作原理:
-
对内容的每次更改都通过推送来记录 堆栈中描述更改的条目, 无论是插入还是删除。这些条目 记录内容的旧状态以及 新状态:如果删除,则删除的文本为 记录;如果是插入,则插入的文本是 记录,以及位置描述 以及是插入还是删除。
-
您的程序还可以将称为分隔符的特殊记录推送到堆栈上。
-
撤消操作更改 小部件的内容到它们在某些时候的内容 上一点。它通过反转所有 将更改推送到撤消/重做堆栈,直到它 到达分隔符或直到它用完堆栈。
但是,请注意,特金特还记得多少 堆栈在撤消操作中被反转,直到 其他一些编辑操作更改了 小部件。
-
重做操作仅有效 如果自上次以来未发生任何编辑操作 撤消操作。它重新应用所有未完成的操作 操作。
对于用于实现撤消/重做堆栈的方法, 请参见第 24.8 节 “文本构件上的方法”中的 、、 和 方法。撤消机制不是 默认启用;您必须在小部件中设置该选项。.edit_redo
.edit_reset
.edit_separator
.edit_undo
undo
24.8. 小部件上的方法Text
这些方法可用于所有文本小部件:
.bbox(
index
)
返回字符的边界框 给定索引,一个 4 元组。如果字符 不可见,返回 .注意 此方法可能无法返回准确的值 除非你调用该方法(请参见第 26 节 “通用小部件方法”)。(
x
, y
, width
, height
)None
.update_idletasks()
.compare(
index1
, op
, index2
)
比较两个指数在 文本构件,如果关系在 和 之间保持,则返回 true。 指定要使用的比较,其中之一:、、、、、 或 。op
index1
index2
op
'<'
'<='
'=='
'!='
'>='
'>'
例如,对于文本构件,如果第二行的开头为 中文本的前面或结尾处。t
t.compare('2.0', '<=', END)
t
.delete(
index1
, index2
=None)
删除紧随 之后的文本。如果 省略第二个参数,只有一个字符是 删除。如果给出了第二个索引,则删除 直到(但不包括)角色 后。召回 索引位于字符之间。index1
index2
.dlineinfo(
index
)
返回包含以下内容的行的边界框 给定的.对于边界框的形式,以及 有关更新空闲任务的注意事项,请参阅 方法的定义 以上。index
.bbox
.edit_modified(arg=None)
查询、设置或清除修改后的 旗帜。此标志用于跟踪 小部件的内容是否已 改变。例如,如果您正在实现 小部件中的文本编辑器,您 可以使用修改后的标志来确定是否 自上次保存以来,内容已更改 内容到文件。Text
在没有参数的情况下调用时,如果修改后的标志已 设置,如果很清楚。您可以 还可以通过将值传递给此方法来显式设置修改后的标志,或清除 它通过传递一个值。True
False
True
False
插入或删除文本的任何操作,无论 通过程序操作或用户操作,或撤消或 重做操作,将设置修改后的标志。
.edit_redo()
执行重做操作。有关细节,请参见第 24.7 节 “文本构件撤消/重做” 堆栈”。
.edit_reset()
清除撤消堆栈。
.edit_separator()
将分隔符推到撤消堆栈上。这 分隔符限制将来撤消的范围 仅包含自 以来推送的更改的操作 分离器被推入。有关细节,请参见第 24.7 节 “文本构件撤消/重做” 堆栈”。
.edit_undo()
撤消对小部件内容所做的所有更改 由于最后一个分隔符被推到撤消 堆栈,或者一直到堆栈的底部,如果 堆栈不包含分隔符。有关细节,请参见第 24.7 节 “文本构件撤消/重做” 堆栈”。这是一个错误 如果撤消堆栈为空。
.image_create(
index
[, option
=value
, ...])
此方法将图像插入到小部件中。这 图像被视为另一个字符,其 大小是图像的自然大小。
此方法的选项如表所示 下面。您可以传递一系列参数,也可以传递 选项名称和值的字典。option
=value
align | 此选项指定图像如何 如果高度较小,则垂直对齐 比其包含线的高度。 值可能是对齐的 它位于其空间的顶部; 居中; 将其放在底部; 或排队 带有文本基线的图像底部。top center bottom baseline |
image | 要使用的图像。请参见第 5.9 节 “图像”。 |
name | 您可以为此实例分配名称 图像。如果省略此选项,Tkinter 将生成一个唯一的名称。如果 创建映像的多个实例 在同一个小部件中,Tkinter 将通过以下方式生成一个唯一的名称: 后附加一个 “”,后跟一个数字。Text # |
padx | 如果提供,此选项是 要在两者上添加的额外空间像素 图像的侧面。 |
pady | 如果提供,此选项是 要添加上方的额外空间的像素和 在图像下方。 |
.get(
index1
, index2
=None)
使用此方法从中检索当前文本 小部件。检索从索引 开始。如果 省略第二个参数,你得到 后面的字符。如果您提供 第二个索引,你得到这两个之间的文本 指标。嵌入的图像和窗口(小部件)是 忽视。如果范围包括多行, 它们由换行符 () 分隔 字符。index1
index1
'\n'
.image_cget(
index
, option
)
检索在 上设置的选项的当前值 嵌入的图像,使用索引调用此方法 指向图像和选项的名称。
.image_configure(
index
, option
, ...)
要在嵌入图像上设置一个或多个选项, 使用指向 图像作为第一个参数,以及一对或多对。option
=value
如果未指定任何选项,则返回 字典定义了图像上的所有选项, 和相应的值。
.image_names()
此方法返回所有 文本小部件的嵌入图像。
.index(
i
)
对于索引,此方法 返回窗体中的等效位置。i
'
line
.char
'
.insert(
index
, text
, tags
=None)
插入给定的 鉴于。text
index
如果省略参数,则 新插入的文本将使用任何标签进行标记 适用于之前和之后的字符 插入点。tags
如果要对文本应用一个或多个标签 您正在插入,提供作为第三个参数 标记字符串的元组。适用于 的任何标记 插入点周围的现有字符为 忽视。注意:第三 参数必须是元组。如果您提供列表 论点,特金特将默默地不适用 标签。如果提供一个字符串,则每个字符将 被视为标记。
.mark_gravity(
mark
, gravity
=None)
更改或查询现有商标的严重性; 请参见上面的第 24.2 节 “文本小部件标记”,了解 重力解释。
要设置重力,请以标记的名称传递, 后跟 或 。找到现有重力 标记,省略第二个参数,方法返回 或 。tk.LEFT
tk.RIGHT
tk.LEFT
tk.RIGHT
.mark_names()
返回 窗口,包括和。tk.INSERT
tk.CURRENT
.mark_next(
index
)
返回给定 ; 后面的标记名称; 如果没有以下标记,该方法返回 一个空字符串。index
如果采用数字形式,则该方法返回 该位置的第一个标记。如果 是 标记,该方法返回后面的下一个标记 该标记,可能具有相同的数字 位置。index
index
.mark_previous(
index
)
返回给定 前面的标记的名称。 如果没有前面的标记,该方法返回 一个空字符串。index
如果采用数字形式,则该方法返回 返回该位置的最后一个标记。如果 是标记,则该方法返回前面的标记, 可能处于相同的数字位置。index
index
.mark_set(
mark
, index
)
如果不存在带有名称的标记,则使用重力创建一个标记并将其放置在点的位置。如果 该标记已存在,它已移至新的 位置。mark
tk.RIGHT
index
此方法可能会更改 或 索引的位置。tk.INSERT
tk.CURRENT
.mark_unset(
mark
)
删除命名标记。此方法不能用于 删除 OR 标记。tk.INSERT
tk.CURRENT
.scan_dragto(
x
, y
)
请参阅下面的 。.scan_mark
.scan_mark(
x
, y
)
此方法用于实现 一个小部件。通常,用户 在某个位置按住鼠标按钮 ,然后在 所需的方向,并且小部件在该方向上移动 方向与距离成正比的速率 按下按钮后鼠标已移动。 运动可以是垂直或 水平滚动。Text
要实现此功能,请向下绑定鼠标按钮 调用 、 和 are 的处理程序的事件 当前鼠标位置。然后将事件绑定到一个处理程序 调用 ,新鼠标的位置和 位置。.scan_mark(
x
, y
)x
y
<Motion>
.scan_dragto(
x
, y
)x
y
.search(
pattern
, index
, option
, ...)
搜索(其中 可以是字符串或正则表达式) 缓冲区从给定的 .如果它 成功,它返回表单的索引;如果失败,则 返回一个空字符串。pattern
index
'
line
.char
'
此方法的允许选项包括:
backwards | 将此选项设置为 从索引向后搜索。违约 是前锋。True |
count | 如果将此选项设置为控制变量,则当 有一个匹配项,你可以检索 使用 匹配的文本长度 关于那个的方法 变量,方法返回后。IntVar .get() |
exact | 将此选项设置为 搜索与 .这是默认选项。 比较选项 下面。True
regexp |
forwards | 将此选项设置为 从索引向前搜索。这是 默认选项。True |
regexp | 将此选项设置为 将 解释为 Tcl 样式的正则表达式。默认 是查找与 完全匹配的 。Tcl 正则表达式是 Python 正则表达式,支持 这些功能:True
. ^ [c1…] (…) * + ? e1|e2 |
nocase | 将此选项设置为 1 可忽略大小写。这 默认值为区分大小写的搜索。 |
stopindex | 要限制搜索,请将此选项设置为 索引不应超出该索引 去。 |
.see(
index
)
如果包含给定索引的文本不是 可见,滚动文本,直到该文本 可见。
.tag_add(
tagName
, index1
, index2
=None)
此方法将命名的标记与 内容的区域从索引之后开始,一直延伸到索引。如果你 省略,只有后面的字符是 标记。tagName
index1
index2
index2
index1
.tag_bind(
tagName
, sequence
, func
, add
=None)
此方法将事件绑定到标记的所有文本 跟。有关更多信息,请参见下文第 54 节 “事件” 有关事件绑定的信息。tagName
若要为标记文本创建新绑定,请使用 前三个参数:标识事件,并且是 您希望它在该事件时调用的函数 发生。sequence
func
若要向现有标记添加另一个绑定,请传递 前三个参数和第四个参数相同。'+'
找出给定存在哪些绑定 标签上的序列,仅传递前两个 参数;该方法返回关联的 功能。
若要查找给定标记的所有绑定,请仅传递 第一个参数;该方法返回 所有标记的参数。sequence
.tag_cget(
tagName
, option
)
使用此方法检索给定 的值。option
tagName
.tag_config(
tagName
, option
, ...)
要更改名为 的标记的选项值,请执行以下操作: 传入一对或多对。tagName
option
=value
如果只传递一个参数,则会返回一个 定义所有选项及其选项的字典 命名标记当前有效的值。
以下是代码配置的选项:
background | 带有此文本的背景颜色 标记。请注意,不能用作缩写。bg |
bgstipple | 要使背景显示为灰色,请将 此选项为标准位图之一 名称(请参见第 5.7 节 “位图”)。 除非您还指定,否则这不起作用 一个。background |
borderwidth | 带有此文本的边框宽度 标记。默认值为 。注意 您不能用作 缩写。0 bd |
fgstipple | 要使文本显示为灰色,请设置此项 选项 A 位图 名称。 |
font | 用于显示文本的字体 标记。请参见第 5.4 节 “键入字体”。 |
foreground | 用于具有此标记的文本的颜色。 请注意,您不能在此处使用缩写。fg |
justify | 在 每行的第一个字符决定了如何 行是对齐的:( 默认值)、或 。justify tk.LEFT tk.CENTER tk.RIGHT |
lmargin1 | 缩进第一行多少 具有此标记的文本块。这 默认值为 。请参见第 5.1 节 “尺寸”了解允许的值。0 |
lmargin2 | 一个连续行的缩进多少 具有此标记的文本块。这 默认值为 。0 |
offset | 提高多少(正值)或 带有此标记的较低(负值)文本 相对于基线。使用它来获取 例如,上标或下标。 有关允许的值,请参见第 5.1 节 “尺寸”。 |
overstrike | 设置为绘制 穿过文本中心的水平线 使用此标签。overstrike=1 |
relief | 用于具有此标记的文本的三维效果。 默认值为 ; 有关其他可能的值,请参见第 3.5 节 “浮雕样式”。relief=tk.FLAT |
rmargin | 大小 文本块的右边距 此标记。默认值为 。0 |
spacing1 | This option specifies how much extra vertical space is put above each line of text with this tag. If a line wraps, this space is added only before the first line it occupies on the display. Default is . 0 |
spacing2 | This option specifies how much extra vertical space to add between displayed lines of text with this tag when a logical line wraps. Default is . 0 |
spacing3 | This option specifies how much extra vertical space is added below each line of text with this tag. If a line wraps, this space is added only after the last line it occupies on the display. Default is . 0 |
tabs | How tabs are expanded on lines with this tag. See Section 24.6, “Setting tabs in a Text widget”. |
underline | Set to underline text with this tag. underline=1 |
wrap | How long lines are wrapped in text with this tag. See the description of the option for text widgets, above. wrap |
.tag_delete(
tagName
, ...)
要删除一个或多个标签,请将其名称传递给 此方法。他们的选择和约束消失了, 并且标签将从文本的所有区域中删除。
.tag_lower(
tagName
, belowThis
=None)
使用此方法更改 标记堆栈(请参见上面的第 24.5 节 “文本小部件标记”, 以获取标记堆栈的说明)。如果您通过 两个参数,带名称的标签是 移动到带有名称的标签正下方的位置。如果只传递一个参数,则该标记为 移至标记堆栈的底部。tagName
belowThis
.tag_names(
index
=None)
如果传递索引参数,此方法将返回 所有关联的标记名称的序列 与该索引后面的字符。如果您通过 没有参数,你会得到所有标签的序列 在“文本”微件中定义的名称。
.tag_nextrange(
tagName
, index1
, index2
=None)
此方法在给定区域中搜索地点 名为“的标记开始的位置。 搜索的区域从索引开始,结束 在索引 .如果省略参数,搜索将一直到 文本的结尾。tagName
index1
index2
index2
如果在给定地区有一个地方 标记启动,方法返回一个序列,其中 是索引 第一个标记字符,并且是索引 紧随最后一个标记之后的位置 字符。[
i0
, i1]i0
i1
如果在区域中未找到标记开始,则 方法返回一个空字符串。
.tag_prevrange(
tagName
, index1
, index2
=None)
此方法在给定区域中搜索地点 名为“的标记开始的位置。 搜索的区域在索引之前开始,结束 在索引 .如果省略参数,搜索将一直到 文本的结尾。tagName
index1
index2
index2
返回值如 中所示。.tag_nextrange()
.tag_raise(
tagName
, aboveThis
=None)
使用此方法更改 标记堆栈(请参见上面的第 24.5 节 “文本小部件标记”, 以获取标记堆栈的说明)。如果您通过 两个参数,带名称的标签是 移动到带有名称的标签正上方的位置。如果只传递一个参数,则该标记为 移至标记堆栈的顶部。tagName
aboveThis
.tag_ranges(
tagName
)
此方法查找 标有 name 和 的小部件,以及 返回一个序列,其中每个都是前面的索引 范围的第一个字符,是紧随其后的索引 范围的最后一个字符。tagName
[
s0
, e0
, s1
, e1
, …]si
ei
.tag_remove(
tagName
, index1
, index2
=None)
删除名为 和 之间的所有字符。 如果省略,则从单个中删除标记 后面的字符。tagName
index1
index2
index2
index1
.tag_unbind(
tagName
, sequence
, funcid
=None)
删除给定的事件绑定 名为 的标记。如果 此序列有多个处理程序,并且 标记,则只能通过传递一个处理程序来删除它 作为第三个参数。sequence
tagName
.window_cget(
index
, option
)
返回嵌入的给定选项
的值 给定的小部件index.
.window_configure(
index
, option
)
更改嵌入微件的选项值 在给定的,传入 一对或多对。index
option
=value
如果只传递一个参数,则会返回一个 定义所有选项及其选项的字典 给定小部件当前有效的值。
.window_create(
index
, option
, ...)
此方法创建一个窗口,其中小部件可以 嵌入在文本微件中。有两种方式 要提供嵌入式小部件,请执行以下操作:
-
您可以使用将小部件传递给此方法中的选项,或者
window
-
您可以定义一个过程,该过程将创建 小部件并将该过程作为回调传递给 选项。
create
选项包括:.window_create()
align | 指定如何定位嵌入的小组件 垂直在其行中,如果它没有 行上的文本。值包括:(默认值),其中 将小部件垂直居中;,其中放置了 行顶部的图像顶部;,其中放置了 行底部的图像底部; 和 ,其中 将图像底部与文本对齐 基线。align=tk.CENTER align=tk.TOP align=tk.BOTTOM align=tk.BASELINE |
create | 将创建嵌入的过程 按需小部件。此过程不需要 参数,并且必须将小部件创建为 文本小部件的子项并返回 小部件作为其结果。 |
padx | 添加了额外的空间 小部件的左侧和右侧 文本行。默认值为 。0 |
pady | 在上方和下方添加了额外的空间 文本行中的小部件。默认值为 。0 |
stretch | 此选项控制在 行高于嵌入的小组件。 通常此选项是 , 这意味着嵌入式小部件保留在 它的自然大小。如果设置 ,则会拉伸小部件 垂直填充线的高度, 选项是 忽视。0 stretch=1 align |
window | 要嵌入的小组件。此小部件 必须是文本微件的子项。 |
.window_names()
返回一个序列,其中包含所有 嵌入式小部件。
.xview(tk.MOVETO,
fraction
)
此方法水平滚动文本小部件, 用于绑定到相关水平滚动条的命令选项。
可以通过两种不同的方式调用此方法。 第一次调用将文本定位在给定的值 by ,其中 0.0 将文本移动到其最左侧 位置和 1.0 到其最右边的位置。fraction
.xview(tk.SCROLL,
n
, what
)
第二个调用将文本向左或向右移动:参数 指定要移动的数量,可以是 或 ,并告知移动的数量 字符或页面,将文本向右移动 相对于其图像(或左,如果是负数)。what
tk.UNITS
tk.PAGES
n
.xview_moveto(
fraction
)
此方法以与 相同的方式滚动文本。.xview(tk.MOVETO,
fraction
)
.xview_scroll(
n
, what
)
与 相同。.xview(tk.SCROLL,
n
, what
)
.yview(tk.MOVETO,
fraction
)
相当于 的垂直滚动。.xview(tk.MOVETO,…)
.yview(tk.SCROLL,
n
, what
)
相当于 的垂直滚动。滚动时 垂直由 ,单位为 线。.xview(tk.SCROLL,…)
tk.UNITS
.yview_moveto(
fraction
)
相当于 的垂直滚动。.xview_moveto()
.yview_scroll(
n
, what
)
相当于 的垂直滚动。.xview_scroll()