lin*_*naa 5 python textbox tkinter
我目前正在使用Tkinter应用程序,该应用程序将TextWidget用作主窗口小部件。
当我尝试获取当前选择时,会引发错误,但我不知道为什么...
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1410, in __call__
return self.func(*args)
File "C:\Users\Lina\Documents\Programmation\VPE project.py", line 502, in rechercher
texte=code_text.selection_get()
File "C:\Python27\lib\lib-tk\Tkinter.py", line 626, in selection_get
return self.tk.call(('selection', 'get') + self._options(kw))
TclError: PRIMARY selection doesn't exist or form "STRING" not defined
Run Code Online (Sandbox Code Playgroud)
谢谢。
编辑:我知道为什么它不起作用,我绑定到Ctrl-F,但是它已经绑定在TextWidgets中(默认情况下,它做的和LeftArrow完全一样)。现在的问题是,我该如何摆脱呢?
该错误只是告诉您未选择任何内容。这本身并不是一个错误,只是说“什么也没得到”。可能是这样,或者您选择了某些内容,但没有将其导出到“所选内容”中。如果您exportselection将小部件上的选项设置为true,则您选择的任何内容都应复制到选择中。如果不是,则您的问题中没有足够的代码来回答原因。
但是,要回答“如何获取在小部件中选择的文本”的问题:在文本小部件中选择的文本具有标签“ sel”。您可以通过以下方式获取此文本textwidget.get('sel.first', 'sel.last')
将get方法与标签一起使用比使用方法更正确,selection_get因为可能在窗口小部件中未选择任何内容,但仍selection_get返回任何内容(例如:返回其他已导出到选择中的窗口小部件)