Python Tkinter文本搜索框';错误的文本索引';

Python Tkinter文本搜索框';错误的文本索引';,python,tkinter,Python,Tkinter,我正在使用text.search(“1.0”,entry.get(),stopindex=“end”) 指挥部。问题是我得到了错误TclError:bad text index“text here”。我按照问题的要求,对search()函数进行了指导,但我不知道出了什么问题。如何修复此问题以使搜索框正常工作?这是我的密码: from Tkinter import * import tkMessageBox import tkFileDialog class Main(object):

我正在使用
text.search(“1.0”,entry.get(),stopindex=“end”)
指挥部。问题是我得到了错误
TclError:bad text index“text 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()

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

self.t1.search("1.0", self.search.get(), stopindex="end")
应该是:

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

你的论点似乎顺序不对。首先应该是搜索词,然后是开始索引,然后是停止索引,而您有开始索引,然后是搜索词,然后是停止索引。谢谢!如果你把它写在一个答案里,我会接受的!我建议您不要使用
lambda
。lambda服务器在本例中没有任何用途,它使代码更难调试。创建一个方法来执行搜索,并将绑定直接绑定到该方法。