Bra*_*don 2 python text tkinter selection
在描述Tkinter文本小部件的此页面上,指出“选择是一个名为SEL(或“ sel”)的特殊标签,与当前选择相对应。您可以使用常量SEL_FIRST和SEL_LAST来引用选择。如果没有选择,Tkinter会引发TclError异常。
我的问题:除了像下面的代码那样用异常欺骗之外,是否有更有效的方法来判断Text小部件中是否存在选择?
seltext = None
try:
seltext = txt.get(SEL_FIRST, SEL_LAST)
except TclError:
pass
if seltext:
# do something with text
Run Code Online (Sandbox Code Playgroud)
您可以向窗口小部件询问“ sel”标签包含的文本范围。如果没有选择,则范围的长度为零:
if txt.tag_ranges("sel"):
print "there is a selection"
else:
print "there is no selection"
Run Code Online (Sandbox Code Playgroud)