Tkinter 动态更改文本框中重复出现的字符串的文本颜色

2024-01-06

我有一个 Tkinter 文本框设置为显示文件的内容。示例行如下:

SUCCESS - Downloaded example.jpg
File was 13KB in size

我想要做的是将任何包含“SUCCESS”一词的行的文本颜色更改为蓝色。请注意,我需要它是动态的,因为这个单词可以在一个文件中找到数百次,并且无法预测它会在哪里。 这是我用来将文件内容输出到文本框的代码。效果很好。

log = open(logFile, 'r')
while 1:
    line = log.readline()
    if len(line) == 0:
        break
    else:
        self.txtLog.insert(Tkinter.END, line)
        self.txtLog.insert(Tkinter.END, os.linesep)
log.close()

我尝试像下面的示例行一样使用 tag_add 和 tag_config 但无济于事。

 `self.txtLog.tag_add("success", "1.0", "1.8")
  self.txtLog.tag_config("success", foreground="blue")`

`


您需要配置一个标签,并在将文本添加到末尾时指定该标签。 这应该有效(尽管未经测试):

self.txtLog.tag_config("success", foreground="blue", font="Arial 10 italic")
log = open(logFile, 'r')
while 1:
    line = log.readline()
    if len(line) == 0:
        break
    else:
        tags = ("success",) if line.startswith("SUCCESS") else None
        self.txtLog.insert(Tkinter.END, line+os.linesep, tags)
log.close()

另外,我刚刚注意到你正在使用tag_add before tag_config,我相信它的工作原理应该是相反的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Tkinter 动态更改文本框中重复出现的字符串的文本颜色 的相关文章

随机推荐

  • onClick 输入类型=“image”

    我一直在转来转去 试图找到一个明确的答案 基本上 我想将 Google Analytics 事件跟踪添加到表单提交中 我希望为其添加 onClick 但我很难确定是否所有浏览器都支持它 我问设计表单的人 她说他们不使用按钮类型的原因是导致在
  • Backtrader 错误:“DataFrame”对象没有属性“setenvironment”

    我是反向交易者的新手 我有一个大问题 我想开始我的策略 只是一个简单的 GoldenCross 策略 这个 GoldenCross py 脚本如下所示 import math import backtrader as bt class Go
  • dijit 过滤选择最小长度

    我似乎找不到一种方法来要求过滤选择输入具有一定的长度 我尝试过这样的 new dijit form FilteringSelect name bla store jsonRestStore searchAttr name pattern 3
  • 有人在 vuetify 和 Laravel 7 上取得过成功吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在尝试在使用 laravel 7 构建的多个项目中安装 vuetify 我成功地让它工作了一次 但每一次连续的尝试都会破坏 vu
  • 使用 msal.js 对 Angular Spa 进行身份验证

    我的角度应用程序有 1000 条独特的路线 用户应该能够从任何这些页面单击登录按钮 已经基于此示例实现了 msal js https github com Gimly simpleAngularAzureB2C blob master sr
  • 如何避免 Google Ads 拖慢我的网站(尤其是移动网站)速度?

    我知道很多网站管理员认为页面速度毫无意义 然而 我相信这个因素是谷歌决定对任何网站进行排名的前三名因素之一 我厌倦了看到谷歌自己的服务如何减慢我的网页速度 我编写干净的代码 当我启动任何网站 应用程序时 它在 GTMetrix 和 Ping
  • 如何在 docker 镜像中包含修改后的配置文件?

    我是 Docker 新手 一位 Devop 同事在 github 存储库中创建了一个 WSO2 docker 镜像 他使用此类图像来创建暂存和生产实例 The docker compose yml is openssl req newkey
  • 使用 Twisted 和 inlineCallbacks 进行测试

    这是我的函数定义 defer inlineCallbacks def get order order id do some db operations defer returnValue order details 我想做的是使用 Twis
  • 当导入 Angular 13 项目时,Angular 13 包/库抛出错误“moment is not a function”

    我正在升级私有角度库 包 my lib 以便我可以迁移所有其他项目 但是当导入到项目中时 其中一项服务使用 moment 并抛出错误 错误类型错误 时刻不是函数 该库在开发模式下工作 构建和发布都正常 即使导入到项目中 所有组件和资源都加载
  • 我需要做什么才能解决“使用移动值”错误?

    我正在尝试计算 Rust 中的第 10 001 个素数 Project Euler 7 作为其中的一部分 我检查整数是否是素数的方法引用了向量 fn main let mut count u32 1 let mut num u64 1 le
  • Git pull - 致命:读取错误:参数无效

    我尝试使用 msysgit 1 8 1 进行拉取 也尝试使用 1 7 10 和 11 结果相同 但总是收到一个我不知道如何调试 解决的错误 E java myproject gt git pull Enter passphrase for
  • url 中的分号作为查询字符串的分隔符

    我一直听说 W3C 建议使用 而不是 作为查询字符串分隔符 我们建议 HTTP 服务器实现者 特别是 CGI 实现者支持使用 代替 来保存作者 以这种方式转义 字符的麻烦 有人可以解释一下为什么 吗 推荐代替 另外 我尝试使用 代替 例子
  • 如何修复 Python 中的双重编码和损坏的字符串?

    我的流程正在处理已被破坏的数据 我可以看出它已经用 UTF 8 进行了双重编码 但这只是故事的一半 双倍的 decoding仅适用于单字节 拉丁语 且完好无损地通过 UTF 8 的代码点 双字节 或更大 的代码点不能使用以下命令进行双重解码
  • 如何在 Mavericks 中打开 NSSheet?

    在 Mavericks 中 打开和关闭 NSSheets 的方法已更改 为了让事情变得更加艰难 发行说明 https developer apple com library mac releasenotes AppKit RN AppKit
  • Howe 捕获 UIView 顶部 UIView

    i have UIView显示图表 现在我需要将其捕获到UIImage我用谷歌搜索并得到了下面的代码 但是如果我在我的代码中使用它 它就不起作用 即使我使用断点编译器也无法达到这个目的 我在我的代码中使用它UIView 我哪里出错了 UII
  • ARM Cortex-M3 uint_fast32_t 与 uint32_t

    我正在为 STM32Fx cortex M3 系列处理器开发一个程序 在 stdint h 中定义了以下内容 typedef unsigned int uint fast32 t typedef uint32 t uint least32
  • 将 jquery json 传递到 asp.net httphandler

    只是不明白我做错了什么 我一直在寻找数十个类似的问题 但仍然存在误解 当我从 JS 调用 CallHandler 函数时 我总是收到 请求失败 警报 请帮我 JS Jquery function CallHandler ajax url D
  • 如何将 SKNode 渲染到 UIImage

    只是在玩 SpriteKit 并试图弄清楚如何将 SKNode 的 抓取 捕获到 UIImage 中 对于 UIView 或 UIView 子类 我使用了layer要渲染到图形上下文中的视图的属性 Eg import
  • 使用 C# 将 Word 文件页面转换为 jpg 图像

    如何将Word文档页面转换为特定图像 我已使用以下代码将其转换为 tiff image object varMissing Type Missing object varFalseValue false object varTrueValu
  • Tkinter 动态更改文本框中重复出现的字符串的文本颜色

    我有一个 Tkinter 文本框设置为显示文件的内容 示例行如下 SUCCESS Downloaded example jpg File was 13KB in size 我想要做的是将任何包含 SUCCESS 一词的行的文本颜色更改为蓝色