python tkinter 文本框内容变化_python-Tkinter动态更改文本框中重复出现的字符串的文本颜色...

我将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_config之前使用了tag_add,我认为应该相反.

标签:python-2-7,tkinter,textbox,python

来源: https://codeday.me/bug/20191201/2079127.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值