[英]Python tkinter text widget delete function doesn't work correctly
[英]Function doesn't highlight a pattern in tkinter text widget
我寫了一個小功能來突出顯示文本小部件中的搜索模式,並將其分配給按鈕“查找”。 但是事實證明,它不會在文本小部件中突出顯示所需的模式,而只是突出顯示。
def find():
xml.tag_delete("search")
xml.tag_configure("search", background="green")
while True:
index = xml.search(fi.get(), "1.0", END)
if index == "":
break
start = index + "+%dc" % len(fi.get())
xml.tag_add("search", index, "%s + %dc" % (index,len(fi.get())))
誰能告訴我我在做什么錯? xml
是文本小部件, fi
是條目小部件,因此模式通常是用戶在fi
小部件中輸入的內容。 任何幫助,將不勝感激。 謝謝
每次搜索時,都從“ 1.0”搜索到文檔末尾。 如果您要搜索的內容甚至在文檔中一次,那么while循環將永遠不會結束,因為index
永遠不會是一個空字符串。
解決方案是在循環之前執行start="1.0"
,然后將搜索修改為從start
因為您要在循環結束時更新此變量。
start = "1.0"
while True:
index = xml.search(fi.get(), start, END)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.