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

相关推荐
Brian Xia1 分钟前
Nano-vLLM 源码分析(一) - 课程大纲
python·ai
猪在黑魔纹里8 分钟前
解决VSCode无法高亮、解析numpy中的部分接口(如pi、deg2rad)
ide·vscode·python·numpy
爱笑的眼睛1117 分钟前
文本分类的范式演进:从统计概率到语言模型提示工程
java·人工智能·python·ai
星川皆无恙22 分钟前
基于知识图谱+深度学习的大数据NLP医疗知识问答可视化系统(全网最详细讲解及源码/建议收藏)
大数据·人工智能·python·深度学习·自然语言处理·知识图谱
Tipriest_28 分钟前
旋转矩阵,齐次变换矩阵,欧拉角,四元数等相互转换的常用代码C++ Python
c++·python·矩阵
周杰伦_Jay29 分钟前
【Go/Python/Java】基础语法+核心特性对比
java·python·golang
小鹿学程序34 分钟前
jdk配置完之后java -version还是默认的jdk版本如何更改
java·开发语言·python
Pyeako39 分钟前
Python数据可视化--matplotlib库
python·matplotlib·数据可视化·画图·pylab
m0_7048878944 分钟前
Day 35
python·深度学习·机器学习
华研前沿标杆游学1 小时前
参观深圳比亚迪总部,探索科技,感受中国“智”造魅力
python