Tkinter文本搜索框'坏文本索引'

时间:2015-11-07 03:08:09

标签: python tkinter

我正在使用text.search("1.0", entry.get(), stopindex="end")为文本编辑器创建搜索框 命令。问题是我收到错误TclError: bad text index "text here"。我按照here的问题获取了有关search()功能的指导,但我不知道出了什么问题。如何解决此问题以使搜索框工作?这是我的代码:

from Tkinter import *
import tkMessageBox
import tkFileDialog

class Main(object):
    def __init__(self, root):
        root.title("PyText")

        self.f1=Frame(root)
        self.f1.grid(row=1)

        #Main text widget
        self.t1=Text(root)
        self.t1.config(width=90, height=40, undo=True, bg="#41494B", highlightbackground="#41494B", foreground="white")
        self.t1.grid(row=2, padx=10, pady=10)

        self.search=Entry(self.f1, highlightbackground="#2b373a")
        self.search.grid(column=2, row=0)

        self.search_button=Button(self.f1, highlightbackground="#2b373a", command=lambda: self.t1.search("1.0", self.search.get(), stopindex="end"), text="Search")
        self.search_button.grid(row=3, column=0)

root = Tk()
root.config(bg="#2b373a")
app = Main(root)
root.mainloop()

1 个答案:

答案 0 :(得分:2)

您已将参数转换为search()。第一个参数需要是搜索查询,第二个参数需要是起始索引。

self.t1.search("1.0", self.search.get(), stopindex="end")

应该是:

self.t1.search(self.search.get(), "1.0", stopindex="end")