- Python 教程
- Python 教程
- Python - 概述
- Python - 历史
- Python - 特性
- Python 与 C++
- Python - Hello World 程序
- Python - 应用领域
- Python 解释器及其模式
- Python - 环境设置
- Python - 虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 文字
- Python - 运算符
- Python - 算术运算符
- Python - 比较运算符
- Python - 赋值运算符
- Python - 逻辑运算符
- Python - 按位运算符
- Python - 成员资格运算符
- Python - 身份运算符
- Python - 运算符优先级
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策
- Python - if 语句
- Python - if-else 语句
- Python - 嵌套 if 语句
- Python - Match-Case 语句
- Python - 循环
- Python - For 循环
- Python for-else 循环
- Python - While 循环
- Python - break 语句
- Python - Continue 语句
- Python - pass 语句
- Python - 嵌套循环
- Python 函数和模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅关键字参数
- Python - 位置参数
- Python - 仅位置参数
- Python - 任意或可变长度参数
- Python - 变量范围
- Python - 函数注释
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python - 字符串
- Python - 切片字符串
- Python - 修改字符串
- Python - 字符串连接
- Python - 字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 字符串练习
- Python 列表
- Python - 列表
- Python - 访问列表项
- Python - 更改列表项
- Python - 添加列表项
- Python - 删除列表项
- Python - 循环列表
- Python - 列表推导式
- Python - 排序列表
- Python - 复制列表
- Python - 联接列表
- Python - 列表方法
- Python - 列表练习
- Python 元组
- Python - 元组(Tuple )
- Python - 访问元组项
- Python - 更新元组
- Python - 解压缩元组项
- Python - 循环元组
- Python - 联接元组
- Python - 元组方法
- Python - 元组练习
- Python 集
- Python - 集(sets)
- Python - 访问 Set Items
- Python - 添加 Set Items
- Python - 删除 Set Items
- Python - 循环 Set Items
- Python - 联接 Sets
- Python - 复制 Set
- Python - Set 运算符
- Python - Set 方法
- Python - Set 的练习
- Python 字典
- Python - 字典
- Python - 访问字典项
- Python - 更改字典项
- Python - 添加字典项
- Python - 删除字典项
- Python - 字典视图对象
- Python - 循环字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python - 数组
- Python - 访问数组项
- Python - 添加数组项
- Python - 删除数组项
- Python - 循环数组
- Python - 复制数组
- Python - 反向数组
- Python - 对数组进行排序
- Python - 连接数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python - 写入文件
- Python - 读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python OS 文件/目录方法
- Python - os.path 方法
- 面向对象编程
- Python - OOP 概念
- Python - 类和对象
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python - 继承
- Python - 多态性
- Python - 方法覆盖
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python - 封装
- Python - 接口
- Python - 软件包
- Python - 内部类
- Python - 匿名类和对象
- Python - 单例类
- Python - 包装类
- Python - 枚举
- Python - 反射
- Python 错误和异常
- Python - 语法错误
- Python - 异常处理
- Python - try-except 块
- Python - try-finally 块
- Python - 引发异常
- Python - 异常链接
- Python - 嵌套 try 块
- Python - 用户定义的异常
- Python - 日志记录
- Python - 断言
- Python - 内置异常
- Python 多线程
- Python - 多线程
- Python - 线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 联接线程
- Python - 命名线程
- Python - 线程调度
- Python - 线程池
- Python - 主线程
- Python - 线程优先级
- Python - 守护程序线程
- Python - 同步线程
- Python 同步
- Python - 线程间通信
- Python - 线程死锁
- Python - 中断线程
- Python 网络
- Python - 网络编程
- Python - 套接字编程
- Python - URL 处理
- Python - 泛型
- Python 杂项
- Python - 日期和时间
- Python - math 模块
- Python - 迭代器
- Python - 生成器
- Python - 闭包(closures)
- Python - 装饰器( Decorators)
- Python - 递归
- Python - 正则表达式
- Python - PIP
- Python - 数据库访问
- Python - 弱引用
- Python - 序列化
- Python - 模板
- Python - 输出格式
- Python - 性能测量
- Python - 数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - GUI 编程
- Python - 命令行参数
- Python - 文档字符串
- Python - JSON
- Python - 发送电子邮件
- Python - 更多扩展
- Python - 工具/实用程序
- Python - 图形用户界面
- Python 高级概念
- Python - 抽象基类
- Python - 自定义异常
- Python - 高阶函数
- Python - 对象内部
- Python - 内存管理
- Python - 元类
- Python - 使用 Metaclasses 进行元编程
- Python - 模拟和存根
- Python - 猴子修补
- Python - 信号处理
- Python - 类型提示
- Python - 自动化教程
- Python - 人性化软件包
- Python - 上下文管理器
- Python - 协程
- Python - 描述符
- Python - 诊断和修复内存泄漏
- Python - 不可变数据结构
Python Tkinter Text
Python Tkinter Text 小部件提供了高级功能,允许您编辑多行文本并按照其显示方式设置格式,例如更改其颜色和字体。
您还可以使用制表符和标记等优雅结构来查找文本的特定部分,并将更改应用于这些区域。此外,您可以在文本中嵌入窗口和图像,因为此小部件旨在处理纯文本和格式化文本。
语法
以下是创建此小部件的简单语法 -
w = Text ( master, option, ... )
参数
- master - 这表示父窗口
- options − 这是此小部件最常用的选项列表。这些 options 可以用作用逗号分隔的键值对。
选项 | 描述 |
---|---|
bg |
文本 Widget 的默认背景色 |
bd |
文本 Widget 周围的边框宽度。默认值为 2 像素。 |
cursor |
当鼠标悬停在文本 widget 上时将出现的光标。 |
exportselection |
通常,在文本 Widget 中选择的文本将导出为窗口管理器中的选择。如果您不希望出现这种行为,请设置 exportselection=0。 |
font |
插入 Widget 中的文本的默认字体。 |
fg |
用于 Widget 中的文本 (和位图) 的颜色。您可以更改标记区域的颜色;此选项只是默认选项。 |
height |
小部件的高度,以线条为单位(不是像素!),根据当前字体大小测量。 |
highlightbackground |
当文本 Widget 没有焦点时,焦点的颜色会突出显示。 |
highlightcolor |
当文本 Widget 具有焦点时,焦点的颜色会突出显示。 |
highlightthickness |
焦点高光的粗细。默认值为 1。设置 highlightthickness=0 以禁止显示焦点高亮显示。 |
insertbackground |
插入光标的颜色。默认值为 black。 |
insertborderwidth |
插入光标周围的 3-D 边框的大小。默认值为 0。 |
insertofftime |
插入光标在其闪烁周期内关闭的毫秒数。将此选项设置为 0 可抑制闪烁。默认值为 300。 |
insertontime |
插入光标在其闪烁周期内打开的毫秒数。默认值为 600。 |
insertwidth |
插入光标的宽度(其高度由其行中最高的项决定)。默认值为 2 像素。 |
padx |
添加到文本区域左侧和右侧的内部填充的大小。默认值为 1 像素。 |
pady |
在文本区域上方和下方添加的内部填充的大小。默认值为 1 像素。 |
relief |
文本 Widget 的 3-D 外观。默认值为 relief=SUNKEN。 |
selectbackground |
用于显示所选文本的背景色。 |
selectborderwidth |
要在所选文本周围使用的边框宽度。 |
spacing1 |
此选项指定在每行文本上方放置多少额外的垂直间距。如果换行,则此空间仅添加到它在显示屏上占据的第一行之前。默认值为 0。 |
spacing2 |
此选项指定当逻辑行换行时,要在显示的文本行之间添加多少额外的垂直间距。默认值为 0。 |
spacing3 |
此选项指定在每行文本下方添加的额外垂直间距量。如果换行,则此空间仅在它在显示屏上占据的最后一行之后添加。默认值为 0。 |
state |
通常,文本 Widget 会响应键盘和鼠标事件;set state=NORMAL 来获得此行为。如果设置 state=DISABLED,则文本小组件将不会响应,并且你也无法以编程方式修改其内容。 |
tabs |
此选项控制制表符如何定位文本。 |
width |
窗口小部件的宽度,以字符为单位(不是像素),根据当前字体大小进行测量。 |
wrap |
此选项控制过宽线条的显示。设置 wrap=WORD,它将在最后一个适合的单词之后换行。使用默认行为 wrap=CHAR,任何太长的行都将在任何字符处断开。 |
xscrollcommand |
要使文本小部件可水平滚动,请将此选项设置为水平滚动条的 set() 方法。 |
yscrollcommand |
要使文本 Widget 可垂直滚动,请将此选项设置为垂直滚动条的 set() 方法。 |
方法
文本对象具有以下方法 -
方法 | 描述 |
---|---|
delete(startindex [,endindex]) |
此方法将删除特定字符或文本范围。 |
get(startindex [,endindex]) |
此方法返回特定字符或文本范围。 |
index(index) |
返回基于给定索引的索引的绝对值。 |
insert(index [,string]...) |
此方法在指定的索引位置插入字符串 |
see(index) |
如果位于索引位置的文本可见,则此方法返回 true。 |
文本小部件支持三种不同的帮助程序结构:标记、制表符和索引 -
标记用于为给定文本中两个字符之间的位置添加书签。在处理标记时,我们可以使用以下方法 -
方法 | 描述 |
---|---|
index(mark) |
返回特定标记的行和列位置。 |
mark_gravity(mark [,gravity]) |
返回给定标记的重力。如果提供了第二个参数,则为给定标记设置重力。 |
mark_names() |
返回 Text 小部件中的所有标记。 |
mark_set(mark, index) |
将新位置通知给给定的标记。 |
mark_unset(mark) |
从 Text 小部件中删除给定的标记。 |
标签用于将名称与文本区域相关联,从而轻松修改特定文本区域的显示设置。标签还用于将事件回调绑定到特定的文本范围。
以下是处理选项卡的可用方法 -
方法 | 描述 |
---|---|
tag_add(tagname, startindex[,endindex] ...) |
此方法标记由 startindex 定义的位置,或由位置 startindex 和 endindex 分隔的范围。 |
tag_config |
您可以使用此方法配置标记属性,其中包括 justify(居中、左或右)、tabs(此属性与 Text widget 选项卡的属性具有相同的功能)和 underline(用于为标记的文本添加下划线)。 |
tag_delete(tagname) |
该方法用于删除和移除给定的标签。 |
tag_remove(tagname [,startindex[.endindex]] ...) |
应用此方法后,将从提供的区域中删除给定的标记,而不会删除实际的标记定义。 |
例
请自行尝试以下示例 -
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()
执行上述代码时,它会产生以下结果 -