微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tkinter,标签说明和搜索方法

如何解决Tkinter,标签说明和搜索方法

我有这小段代码想要澄清

Route::group(['middleware' => 'language'],function(){
    //routes with u want change language
    Route::get('/edit/{employee}','EmployeesController@edit')->name('edit');
    Route::patch('/edit/{employee}','EmployeesController@update')->name('update');
});

我想知道,当搜索成功时,它返回 count=Intvar() s=w.txt.search(self.entry.get(),'1.0',stopindex=END,count=count) txt.tag_configure("match",background='yellow') end=f'{s}+{count.get()}c' txt.tag_add("match",s,end) ,如果没有给出错误,我想了解1.0变量,如何帮助找到变量匹配并突出显示它,最后一件事是:endIntvar()间的区别是什么,它们似乎与我相似并且我可能会误会了?

解决方法

您写了“我想知道,当搜索成功时,它返回1.0”。,但这是不正确的。 search返回找到字符串的索引。可能是“ 1.0”,但可以是任何有效的索引。

stopindex告诉tkinter在到达该索引时停止搜索。否则,搜索可能会绕到文本的开头。

从规范的tcl/tk documentaton

如果指定了 stopIndex ,则搜索将从该索引处停止: 向前搜索,在stopIndex或之后将不考虑匹配项; 对于向后搜索,文本中没有比 stopIndex 更早的匹配项 将被考虑。如果省略 stopIndex ,则整个文本将为 搜索:到达文本的开头或结尾时,进行搜索 在另一端继续,直到到达起始位置 再次;如果指定了 stopIndex ,则不会发生环绕。这个 表示例如,如果搜索为-forwards但 stopIndex 为 在文本中早于 startIndex 的位置,不会找到任何内容。

end变量是一个临时变量,用于定义与搜索匹配的文本范围。通过将search匹配的字符数添加到起始索引来计算。搜索将使用该数字更新count变量。

在您的代码中,如果s为“ 2.0”且count.get()返回5,则end将被设置为“ 2.0 + 5c”。使用文本小部件,可以使用修饰符指定索引。在这种情况下,“ 2.0 + 5c”或“ 2.0 +2个字符”表示“索引2.0加5个字符”。

在进行正则表达式搜索(匹配的字符数可能长于或短于搜索的表达式)时,使用count最为有用。

IntVarStringVar之间的区别在于,当您调用get方法时,IntVar的实例将始终返回整数,或者如果该值不是数字。在get的实例上调用StringVar将始终返回一个字符串。 IntVar只是StringVar周围的便利包装,可以自动将返回值转换为整数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。