我正在使用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()
答案 0 :(得分:2)
您已将参数转换为search()
。第一个参数需要是搜索查询,第二个参数需要是起始索引。
self.t1.search("1.0", self.search.get(), stopindex="end")
应该是:
self.t1.search(self.search.get(), "1.0", stopindex="end")