转-tkinter-15-text-1

References

简介

Text(文本)组件用于显示和处理多行文本。在 Tkinter 的所有组件中,Text 组件显得异常强大和灵活,适用于多种任务。虽然该组件的主要目的是显示多行文本,但它常常也被用于作为简单的文本编辑器网页浏览器使用。

Text是tkinter里最灵活的组件,小甲鱼总结的是网路上最完整的~~

属性和方法

属性

选项 含义
autoseparators 1. 指定实现“撤销”操作的时候是否自动插入一个“分隔符”(用于分隔操作记录) 2. 默认值是 True 3. 详见上方用法【“撤销”和“恢复”操作】
background 1. 设置 Text 组件的背景颜色 2. 注意:通过使用 Tags 可以使 Text 组件中的文本支持多种背景颜色显示(请参考上方【Tags 用法】)
bg 跟 background 一样
borderwidth 1. 设置 Entry 的边框宽度 2. 默认值是 1 像素
bd 跟 borderwidth 一样
cursor 1. 指定当鼠标在 Text 组件上飘过的时候的鼠标样式 2. 默认值由系统指定
exportselection 1. 指定选中的文本是否可以被复制到剪贴板 2. 默认值是 True 3. 可以修改为 False 表示不允许复制文本
font 1. 设置 Text 组件中文本的默认字体 2. 注意:通过使用 Tags 可以使 Text 组件中的文本支持多种字体显示(请参考上方【Tags 用法】)
foreground 1. 设置 Text 组件中文本的颜色 2. 注意:通过使用 Tags 可以使 Text 组件中的文本支持多种颜色显示(请参考上方【Tags 用法】)
fg 跟 foreground 一样
height 1. 设置 Text 组件的高度 2. 注意:单位是行数,不是像素噢
highlightbackground 1. 指定当 Text 组件没有获得焦点的时候高亮边框的颜色 2. 默认值由系统指定
highlightcolor 1. 指定当 Text 组件获得焦点的时候高亮边框的颜色 2. 默认值由系统指定
highlightthickness 1. 指定高亮边框的宽度 2. 默认值是 0
insertbackground 1. 设置插入光标的颜色 2. 默认是 BLACK(或 “black”)
insertborderwidth 1. 设置插入光标的边框宽度 2. 默认值是 0 3. 提示:你得设置 insertwidth 选项为比较大的数值才能看出来噢
insertofftime 1. 该选项控制光标的闪烁频率(灭) 2. 单位是毫秒
insertontime 1. 该选项控制光标的闪烁频率(亮) 2. 单位是毫秒
insertwidth 1. 指定光标的宽度 2. 默认值是 2 像素
maxundo 1. 设置允许“撤销”操作的最大次数 2. 默认值是 0 3. 设置为 -1 表示不限制
padx 1. 指定水平方向上的额外间距(内容和边框间) 2. 默认值是 1
pady 1. 指定垂直方向上的额外间距(内容和边框间) 2. 默认值是 1
relief 1. 指定边框样式 2. 默认值是 SUNKEN 3. 其他可以选择的值是 FLAT,RAISED,GROOVE 和 RIDGE
selectbackground 1. 指定被选中文本的背景颜色 2. 默认值由系统指定
selectborderwidth 1. 指定被选中文本的边框宽度 2. 默认值是 0
selectforeground 1. 指定被选中文本的字体颜色 2. 默认值由系统指定
setgrid 1. 指定一个布尔类型的值,确定是否启用网格控制 2. 默认值是 False
spacing1 1. 指定 Text 组件的文本块中每一行与上方的空白间隔 2. 注意:自动换行不算 3. 默认值是 0
spacing2 1. 指定 Text 组件的文本块中自动换行的各行间的空白间隔 2. 注意:换行符(’\n’)不算 3. 默认值是 0
spacing3 1. 指定 Text 组件的文本中每一行与下方的空白间隔 2. 注意:自动换行不算 3. 默认值是 0
state 1. 默认情况下 Text 组件响应键盘和鼠标事件(NORMAL) 2. 如果将该选项的值设置为 DISABLED,那么上述响应就不会发生,并且你无法修改里边的内容
tabs 1. 定制 Tag 所描述的文本块中 Tab 按键的功能 2. 默认 Tab 被定义为 8 个字符的宽度 3. 你还可以定义多个制表位:tabs=(‘3c’, ‘5c’, ‘12c’) 表示前 3 个 Tab 宽度分别为 3厘米,5厘米,12厘米,接着的 Tab 按照最后两个的差值计算,即:19厘米,26厘米,33厘米 4. 你应该注意到了,它上边 ‘c’ 的含义是“厘米”而不是“字符”,还可以选择的单位有 ‘i’(英寸),’m’(毫米)和 ‘p’(DPI,大约是 ‘1i’ 等于 ‘72p’) 5. 如果是一个整型值,则单位是像素
takefocus 1. 指定使用 Tab 键可以将焦点移动到 Text 组件中 2. 默认是开启的,可以将该选项设置为 False 避免焦点在此 Text 组件中
undo 1. 该选项设置为 True 开启“撤销”功能 2. 该选项设置为 False 关闭“撤销”功能 3. 默认值是 False
width 1. 设置 Text 组件的宽度 2. 注意:单位是字符数,因此 Text 组件的实际宽度还取决于字体的大小
wrap 1. 设置当一行文本的长度超过 width 选项设置的宽度时,是否自动换行 2. 该选项的值可以是:NONE(不自动换行),CHAR(按字符自动换行)和 WORD(按单词自动换行)
xscrollcommand 1. 与 scrollbar(滚动条)组件相关联(水平方向) 2. 使用方法可以参考:Scrollbar 组件
yscrollcommand 1. 与 scrollbar(滚动条)组件相关联(垂直方向) 2. 使用方法可以参考:Scrollbar 组件

方法

Indexex用法

Indexes(索引)是用来指向 Text 组件中文本的位置,跟 Python 的序列索引一样,Text 组件索引也是对应实际字符之间的位置。 Tkinter 提供一系列不同的索引类型:

Marks用法

Marks(标记)通常是嵌入到 Text 组件文本中的不可见对象。事实上 Marks 是指定字符间的位置,并跟随相应的字符一起移动。

Tag用法

Tags(标签)通常用于改变 Text 组件中内容的样式和功能。你可以修改文本的字体、尺寸和颜色。另外,Tags 还允许你将文本、嵌入的组件和图片与键盘和鼠标等事件相关联。

除了 user-defined tags(用户自定义的 Tags),还有一个预定义的特殊 Tag:SEL。SEL(或 “sel”)用于表示对应的选中内容(如果有的话)。

你可以自定义任意数量的 Tags,Tags 的名字是由普通字符串组成,可以是除了空白字符外的任何字符。另外,任何文本内容都支持多个 Tags 描述,任何 Tag 也可以用于描述多个不同的文本内容。

Table of Contents