它是用于这些目的的正确小部件。基本概念是,将属性分配给标记,并将标记应用于小部件中的文本范围。您可以使用文本小部件的search命令查找与模式匹配的字符串,这将返回足够的信息,并将标记应用于匹配的范围。

有关如何将标记应用于文本的示例,请参见我对问题Advanced Tkinter text box?的回答。这并不完全是你想做的,但它显示了基本概念。

下面是一个示例,说明如何扩展文本类以包含用于突出显示与模式匹配的文本的方法。class CustomText(tk.Text):

'''A text widget with a new method, highlight_pattern()

example:

text = CustomText()

text.tag_configure("red", foreground="#ff0000")

text.highlight_pattern("this should be red", "red")

The highlight_pattern method is a simplified python

version of the tcl code at http://wiki.tcl.tk/3246

'''

def __init__(self, *args, **kwargs):

tk.Text.__init__(self, *args, **kwargs)

def highlight_pattern(self, pattern, tag, start="1.0", end="end",

regexp=False):

'''Apply the given tag to all text that matches the given pattern

If 'regexp' is set to True, pattern will be treated as a regular

expression according to Tcl's regular expression syntax.

'''

start = self.index(start)

end = self.index(end)

self.mark_set("matchStart", start)

self.mark_set("matchEnd", start)

self.mark_set("searchLimit", end)

count = tk.IntVar()

while True:

index = self.search(pattern, "matchEnd","searchLimit",

count=count, regexp=regexp)

if index == "": break

if count.get() == 0: break # degenerate pattern which matches zero-length strings

self.mark_set("matchStart", index)

self.mark_set("matchEnd", "%s+%sc" % (index, count.get()))

self.tag_add(tag, "matchStart", "matchEnd")

python tkinter entry长字符串靠右显示_如何突出显示tkinter文本widg中的文本相关推荐

  1. python 获取文本框内容_如何在python中单击按钮时获取文本框中的文本?

    我可以让您的代码在单击按钮时显示文本框中的文本: 这就是你要达到的目的吗?您没有提到是否出现错误,但我确实发现您的代码存在两个问题:Button.py脚本中似乎存在一些缩进问题.在 对于changeT ...

  2. zenmap nmap输出无显示_双路显示控制仪XME-H80-1616价格报价

    双路显示控制仪XME-H80-1616价格报价 主要性能 二十多种输入信号可选择: 测量输入信号可进行开方及小信号切除. 过程量.给定值.控制量.阀位反馈量等多重显示:测量值与给定值的显示可进行加减运 ...

  3. latex 文本突出显示_如何突出显示搜索的文本

    latex 文本突出显示 在很多情况下,我被要求做的一件事是能够在记录返回页面中搜索文本后突出显示文本. 下面完美地做到了这一点. 在记录返回页面中使用此功能: 'Highlight searched ...

  4. python docx提取word中的目录及文本框中的文本

    问题描述 同标题 解决方案 因未在docx库找到直接识别word中目录及文本框中文本的方法,所以采用了一个"笨"方法,docx库可以把word文档解析成xml格式,以解析xml的方 ...

  5. 字符串从右截取_跟运维组学Python基础day04(字符串str的索引和切片)

    内容回顾 跟运维组学Python基础 day03 格式化输出 %s name = input('Pleases input your name: ') # Zanaoprint('My name is ...

  6. python输出最长字符串_使用Python打印最长的字母子字符串,并打结...

    我将通过以下方式解决该问题: >让我们定义两个字符串:当前字母递增的字符串和当前最长的字符串. >两个字符串都以第一个字母初始化. (这样我们就可以随时阅读他们的最后一封信.) >然 ...

  7. python 分割不等长字符串表格_Python字符串---固定长度分割字符串

    固定长度分割字符串 两个一组分割 处理mac地址,添加中横线 import re mac = '50E549E32ECB' # 方法一 mac1 = '' tmp = list(mac) print( ...

  8. python 获取硬盘信息失败请谨慎操作_重装系统显示:获取硬盘信息失败,请谨慎操作...

    展开全部 一般出e5a48de588b662616964757a686964616f31333433656663现这种情况,可能的原因有两个,一个是硬盘本身存在故障,另一个是硬盘模式有点问题. 排查: ...

  9. java数组显示_关于java:如何在数组中显示某些值的组合?

    本问题已经有最佳答案,请猛点这里访问. 例如,我有一个数组["Sam","Mary","John"]. 我想显示选择2中的3个组合. 结果应 ...

最新文章

  1. 随机森林采用多数表决的一种,最终表决结果不是树上的类别(class)频率,而是树上的各类别概率的平均值
  2. 计失败的一次js优化
  3. jzoj2292-PPMM【模拟,堆】
  4. php 编译记录文件,php-7.1编译记录
  5. javascript onbeforeunload与onunload事件
  6. 手机页面rem响应式布局
  7. bootstrapmodel确认操作框_光伏电站EL检测仪的操作流程
  8. sql 导入excel 遇到问题
  9. nginx工作原理详解
  10. 详解电镀废水各种工艺
  11. (亲测有效)Win11卸载Edge浏览器
  12. 去除小圆点_word中的小圆圈怎么删掉
  13. linux 机房安全管理,提示尊敬的用户您好:您访问的网站被机房安全管理系统拦截怎么办?...
  14. 香港90年代电视剧推荐
  15. 如何实现在线视频播放?
  16. linux查找文件中的字符串
  17. word中mathtype公式编辑
  18. Wavesurfer.js 生成音频波形图
  19. Linux 条件变量 pthread_cond_wait
  20. 远程桌面连接出现身份验证错误。要求的函数不受支持。这可能是由于CredSSP加密数据库修正。

热门文章

  1. 使用Java连接Elasticsearch数据库(验证用户/不验证用户)
  2. 辽工大计算机专业考研好考吗,【计算机考研】院校信息-辽宁工业大学
  3. 非编系统它的主要功能是什么
  4. VMware虚拟机三种联网方式--怎么判断虚拟机是否联网?
  5. java+usb+教程,带你遨游USB世界
  6. [转]房地产的金融游戏
  7. Unity实现转盘抽奖效果
  8. 妄想山海怎么不显示服务器,妄想山海预约福利怎么领 开服常见问题汇总
  9. 【秋招纪实录】我是如何从大一不断提高自身的【求职/考研】能力
  10. 纯CSS3卡通模型飞机飞行动画