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

相关推荐
疋瓞2 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
如此这般英俊3 小时前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理
元Y亨H4 小时前
Python - FastAPI 全方位介绍
python·fastapi
error:(5 小时前
【系统与实战双精通】VS Code 调试 ROS2 Python 节点与 Launch 系统指南
android·java·python
weigangwin6 小时前
LlamaIndex 第一次试用:别先写 RAG Demo,先验上下文合同
python·ai·agent·rag·检索·llamaindex·观测性
省四收割者6 小时前
一文详解信号完整性(1)
python·嵌入式硬件·数学建模·信息与通信·信号处理·智能硬件
ai生成式引擎优化技术6 小时前
从知识连接到智能组织:WSaiOS认知网络的理论框架与系统设计摘要
网络·python·plotly·django·pygame
用户8356290780516 小时前
使用 Python 保护和取消保护 Excel 工作表和工作簿
后端·python
骑士雄师7 小时前
大模型:临时会话
开发语言·python
CodeStats7 小时前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go