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自动化办公 编程工具

相关推荐
haluhalu.3 分钟前
深入理解 AI Agent(1.2):Harness 工程——模型之外的竞争力
前端·数据结构·人工智能·python·langchain·个人开发
东莞市云毅网络有限公司26 分钟前
把网页表格与列表还原成结构化条目:抽取与对账实现
python·文本处理·数据抽取
夜瞬31 分钟前
从零微调 Qwen3-8B:基于 LoRA 与 LLaMA-Factory 打造专属 AI 编程助教
人工智能·python·llama
障碍的枫子1 小时前
我的第一个Agent
开发语言·python·langchain
打工仔折腾 AI1 小时前
260+异构同步链路实战:如何用语义化自动翻译破解CDC DDL同步痛点
人工智能·后端·python·自然语言处理·性能优化·langchain·机器翻译
曲径海盗1 小时前
【Python 学习第 33 天】条件判断 if/else
python·学习笔记·编程入门
把我格子衫拿来2 小时前
鼠标点到哪里才算选中?Qt 与 VTK 的拾取坐标、DPI 与体素定位
python·qt·vtk·坐标变换·三维交互
泡茶喝茶写代码2 小时前
A股量化策略回测实战:从行情数据到绩效评估(第 1 篇):回测引擎从零搭建
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
RobinDevNotes2 小时前
SGLang 上手:重复的前缀只算一次
人工智能·python·深度学习·sglang·c4python
zyseo82 小时前
谷歌SEO 内链地图脚本:Python 画出权重分发,揪出孤岛页
java·前端·python