簡體   English   中英

函數未在Tkinter文本小部件中突出顯示模式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM