无法使用 python 2.7 tkinter 文本编辑器查找功能
Cannot get python 2.7 tkinter text editor find function to work
最近我一直在开发 GUI python 纯文本编辑器。代码调用此函数
def Find():
win = Toplevel()
Label(win, text="Find:").pack()
e1 = Entry(win)
e1.pack()
Button(win, text="Find Me!!!!", command=win.destroy).pack()
targetfind = e1.get()
print targetfind
if targetfind:
where = textPad.search(targetfind, INSERT, END)
if where:
print where
pastit = where + ('+%dc' % len(targetfind))
#self.text.tag_remove(SEL, '1.0', END)
textPad.tag_add(SEL, where, pastit)
textPad.mark_set(INSERT, pastit)
textPad.see(INSERT)
textPad.focus()
但是,我无法让它工作。我在互联网上搜索了任何可能帮助我实现查找功能的东西,但我没有成功找到一个有效的东西。非常感谢在实现查找功能方面的任何帮助。
我正在使用 python 2.7.7,Tkinter,我在 Windows 7 上 运行 这个。
`
它不起作用,因为您创建了 e1
,然后在一纳秒后创建了 targetfind = e1.get()
。用户没有反应能力在那纳秒内键入查询。所有以 targetfind = e1.get()
开头的代码都需要在一个函数中,该函数作为 "Find" 按钮的 command
执行。
def Find():
def find_button_pressed():
targetfind = e1.get()
print targetfind
if targetfind:
where = textPad.search(targetfind, INSERT, END)
if where:
print where
pastit = where + ('+%dc' % len(targetfind))
#self.text.tag_remove(SEL, '1.0', END)
textPad.tag_add(SEL, where, pastit)
textPad.mark_set(INSERT, pastit)
textPad.see(INSERT)
textPad.focus()
win.destroy()
win = Toplevel()
Label(win, text="Find:").pack()
e1 = Entry(win)
e1.pack()
Button(win, text="Find Me!!!!", command=find_button_pressed).pack()
最近我一直在开发 GUI python 纯文本编辑器。代码调用此函数
def Find():
win = Toplevel()
Label(win, text="Find:").pack()
e1 = Entry(win)
e1.pack()
Button(win, text="Find Me!!!!", command=win.destroy).pack()
targetfind = e1.get()
print targetfind
if targetfind:
where = textPad.search(targetfind, INSERT, END)
if where:
print where
pastit = where + ('+%dc' % len(targetfind))
#self.text.tag_remove(SEL, '1.0', END)
textPad.tag_add(SEL, where, pastit)
textPad.mark_set(INSERT, pastit)
textPad.see(INSERT)
textPad.focus()
但是,我无法让它工作。我在互联网上搜索了任何可能帮助我实现查找功能的东西,但我没有成功找到一个有效的东西。非常感谢在实现查找功能方面的任何帮助。
我正在使用 python 2.7.7,Tkinter,我在 Windows 7 上 运行 这个。 `
它不起作用,因为您创建了 e1
,然后在一纳秒后创建了 targetfind = e1.get()
。用户没有反应能力在那纳秒内键入查询。所有以 targetfind = e1.get()
开头的代码都需要在一个函数中,该函数作为 "Find" 按钮的 command
执行。
def Find():
def find_button_pressed():
targetfind = e1.get()
print targetfind
if targetfind:
where = textPad.search(targetfind, INSERT, END)
if where:
print where
pastit = where + ('+%dc' % len(targetfind))
#self.text.tag_remove(SEL, '1.0', END)
textPad.tag_add(SEL, where, pastit)
textPad.mark_set(INSERT, pastit)
textPad.see(INSERT)
textPad.focus()
win.destroy()
win = Toplevel()
Label(win, text="Find:").pack()
e1 = Entry(win)
e1.pack()
Button(win, text="Find Me!!!!", command=find_button_pressed).pack()