有没有一种有效的方法来判断是否在 Tkinter 文本小部件中选择了文本?
在 描述 Tkinter 文本小部件的页面上,指出 '选择是一个名为 SEL(或“sel”)的特殊标签,对应于当前选择。您可以使用常量 SEL_FIRST 和 SEL_LAST 来引用选择。如果没有选择,Tkinter 会引发 TclError 异常。
我的问题:除了愚弄异常之外,是否有更有效的方法来判断文本小部件中是否有选择,如下面的代码?
seltext = None
try:
seltext = txt.get(SEL_FIRST, SEL_LAST)
except TclError:
pass
if seltext:
# do something with text
On this page describing the Tkinter text widget, it's stated that
'The selection is a special tag named SEL (or “sel”) that corresponds to the current selection. You can use the constants SEL_FIRST and SEL_LAST to refer to the selection. If there’s no selection, Tkinter raises a TclError exception.'
My question: is there a more efficient way to tell if there is a selection in a Text widget besides fooling with exceptions, like the below code?
seltext = None
try:
seltext = txt.get(SEL_FIRST, SEL_LAST)
except TclError:
pass
if seltext:
# do something with text
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以向小部件询问“sel”标签包含的文本范围。如果没有选择,范围的长度将为零:
You can ask the widget for the range of text that the "sel" tag encompases. If there is no selection the range will be of zero length:
这是检查是否选择了指定位置的方法。
我不知道为什么他们不让你在那里放第二个索引。我也不知道这对处理器来说比你的版本更有效,但据我所知,它似乎更标准。
Here's a way to check if a specified location is selected.
I don't know why they don't let you put a second index in there. I also don't know that this is any more efficient for the processor than your version, but it does seem to be more standard from what I can tell.