【问题标题】:Tkinter Text Widget Search methodTkinter 文本小部件搜索方法
【发布时间】:2019-05-13 14:54:10
【问题描述】:

在哪里可以找到该方法的文档?

我只找到了这个 http://effbot.org/tkinterbook/text.htm 搜索方法允许您搜索文本。您可以搜索完全匹配(默认),或使用 Tcl 样式的正则表达式(调用时将 regexp 选项设置为 true)。

“Tcl 风格的正则表达式”是什么意思?

我还有一个关于我的代码的问题:为什么 self._testo.tag_add("search", pos, "%s + %sc" (pos, countVar.get())) 返回 TypeError: 'str' object is not callable 提前致谢

def _trova(self):
    t1 = tkinter.Toplevel(self._finestra)
    def t():
        s = e.get()

        start = "1.0"
        while True:
            countVar = tkinter.StringVar()
            pos = self._testo.search(s, start, stopindex="end",count=countVar)
            if not pos:
                break
            self._testo.tag_config("search", background="yellow")
            self._testo.tag_add("search", pos, "%s + %sc" (pos, countVar.get()))
            start = pos + "+1c"

    e= tkinter.Entry(t1).grid(row=0, column=1)
    ok = tkinter.Button(t1, text="OK", command= t).grid(row=0, column=2)

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    在哪里可以找到该方法的文档?

    规范文档在此处的 tcl/tk 文档中:http://tcl.tk/man/tcl8.5/TkCmd/text.htm#M120 它假定您使用 tcl 而不是 python 编写,但是将其转换为 python 相当简单。 python 文档很好地介绍了如何做到这一点。见Mapping basic tk into tkinter

    “Tcl 风格的正则表达式”是什么意思?

    Tkinter 是一个 tcl 解释器的薄包装器。 Tcl 的正则表达式语法与 Python 的略有不同。所谓“tcl风格的正则表达式”,是指它遵循tcl项目的re_syntax手册页中描述的正则表达式语法。

    我的代码还有一个问题:为什么 self._testo.tag_add("search", pos, "%s + %sc" (pos, countVar.get())) 返回 TypeError: 'str' object is不可调用

    你得到错误是因为你试图调用一个字符串,就好像它是一个函数一样(本质上,你正在做"foo"()。这是代码的违规部分:

    "%s + %sc" (pos, countVar.get())
    

    您似乎在"%s + %sc"(pos, countVar.get()) 之间遗漏了%

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多