Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python在gtk文本视图中搜索文本_Python_Search_Text_Gtk_Textview - Fatal编程技术网

python在gtk文本视图中搜索文本

python在gtk文本视图中搜索文本,python,search,text,gtk,textview,Python,Search,Text,Gtk,Textview,我环顾四周,我认为这很简单,因为某种原因,我只找到了我需要的部分 我已经做了一个文本编辑器,我有一个框,它键入的内容会发现问题是它只会在文本视图中找到第一个单词,我无法让它搜索下一行。 就像文本文档中的查找函数一样 def search(found): search_str = findentry.get_text() start_iter = textbuffer.get_start_iter() found = start_iter.forward_se

我环顾四周,我认为这很简单,因为某种原因,我只找到了我需要的部分

我已经做了一个文本编辑器,我有一个框,它键入的内容会发现问题是它只会在文本视图中找到第一个单词,我无法让它搜索下一行。 就像文本文档中的查找函数一样

def search(found):
    search_str = findentry.get_text()
    start_iter =  textbuffer.get_start_iter()
    found =       start_iter.forward_search(search_str,0, None) 
    if found:
      match_start,match_end = found
      textbuffer.select_range(match_start,match_end)
我想我可以做一个按钮,这是一个搜索下一步,并使其向前搜索再次添加一些东西和一个变量+1。
如何使其向前和向后搜索。

您使用的是
get\u start\u iter()
,它返回文本缓冲区中的第一个位置。很可能,您希望从
match\u end
开始,这是单词在第一次搜索中结束的位置,也就是说,您应该从那里开始

假设您返回
found
并再次调用该参数
search
,则可以替换该行:

    start_iter =  textbuffer.get_start_iter()


第一次,或者当您想重置搜索时,您可以传递
found=None

很抱歉回复太晚。你的说明似乎很简单,但你能举一个更详细的例子吗。
    start_iter = found[1] if found else textbuffer.get_start_iter()