Tkinter.Text控件中,文本存在某个关键字的将被高亮显示(标记颜色+字体加粗)

在Tkinter的Text控件中,要标记某个关键字并改变其颜色,你可以使用tag_add方法来给包含关键字的文本添加标签,然后使用tag_config方法来配置该标签的显示样式,包括前景色(字体颜色)和背景色等。以下是一个完整的示例,展示了如何在一个Text控件中标记并改变某个关键字的颜色:如文本框中含有WdPython就会被高亮显示。

------------★Tkinter系列教程★------------

Tkinter教程23:Entry输入框+Label标签+Text文本框的示例用法

Tkinter教程22:DataFrame数据加入到treeview树视图(含横纵滚动条+正反向排序)

Tkinter教程21:Listbox列表框+OptionMenu选项菜单+Combobox下拉列表框控件的使用+绑定事件

Tkinter教程20:treeview树视图组件,表格数据的插入与表头排序

Python教程57:tkinter中如何执行,单击按钮的单线程操作

Python教程56:tkinter中如何隐藏/去掉最大化窗口

Python项目10:使用Tkinter批量新建文件夹

Python源码04:使用Tkinter写一个计时器

教你使用Pyinstaller将Python源码打包成可执行程序exe的方法

经典游戏04:给老板写一封拒绝不了的辞职信

Python源码03:使用Tkinter写一个诗词答题软件

Python源码:Tkinter窗口中输入框和菜单组件的使用

Python源码02:使用Tkinter制作软件的登入页面

Python源码:Tkinter组件布局管理的3种方式

Python源码:关于Tkinter需要学习的知识点

Python源码01:使用Tkinter写一个计算器

Python中常用的GUI模块库有哪些?

Python源码:教你用Tkinter创建一个简单的桌面窗口程序

python 复制代码
# @Author : 小红牛
# 微信公众号:WdPython
import tkinter as tk
from tkinter import Text

# 高亮显示
def highlight_keyword(keyword):
    # 清除之前的关键字高亮  
    text_widget.tag_remove("keyword", "1.0", tk.END)

    # 搜索关键字并高亮显示
    start_index = '1.0'
    while True:
        start_index = text_widget.search(keyword, start_index, tk.END)
        if not start_index:
            break
        end_index = f"{start_index}+{len(keyword)}c"
        #添加标记属性
        text_widget.tag_add("keyword", start_index, end_index)
        start_index = end_index

# 1.创建主窗口
root = tk.Tk()
root.title('Text Highlight Example')

# 2.创建一个Text控件
text_widget = Text(root, height=10, width=50)
text_widget.pack(fill=tk.BOTH, expand=True)

# 3.插入一些示例文本
text_widget.insert("1.0", '我的Python教程\n')
text_widget.insert("2.0", '微信公众号:WdPython。\n')
text_widget.insert("3.0", '这是一段将被标记和改变颜色的文本。\n')
text_widget.insert("4.0", '微信公众号:WdPython。\n')

# 配置标签"keyword"的文本前景与背景颜色+加下画线
text_widget.tag_config('keyword', font=('楷体', 20, 'bold'),  background="yellow", foreground="red", underline=1)

# 4.文本关键字高亮显示
highlight_keyword("WdPython")  # 高亮关键字

# 启动主循环  
root.mainloop()

完毕!!感谢您的收看

----------★★历史博文集合★★----------
我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具

相关推荐
2601_962885721 分钟前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
李高钢34 分钟前
Python FastAPI 框架入门:从零搭建你的第一个高性能 API 服务
数据库·python·fastapi
ocean21031 小时前
2025-2026年Python面试高频知识点洞察
开发语言·python·面试·python八股文
Warson_L1 小时前
Python的OrderedDict
python
隐擎fox1 小时前
高性能网络爬虫架构设计:基于 Python 的长连接复用与分布式会话池调度实践
分布式·python·网络协议·tcp/ip·高并发·网络爬虫、
Warson_L1 小时前
Python的TypedDict
python·langchain·llm
晓窗科技2 小时前
口碑好的AI基座服务商
大数据·人工智能·python
小灰灰搞电子3 小时前
Python 信号量详解:并发控制实战
python·信号量
新时代牛马3 小时前
cyclictest 毛刺从哪来?从ftrace、latencytop、perf到IRQ/调度延迟定位
android·开发语言·python·kotlin
Dxy12393102163 小时前
Python如何结合AI解决数据分析问题
人工智能·python·数据分析