У меня есть функция, которая должна создать окно, согласно которому параметр в раскрывающемся меню выбран:Исключение возникает с trace_variable()
def buildview():
value = StringVar()
options = ["one", "two", "three"]
menu = OptionMenu(*(root, value) + tuple(options))
### Some window building accoring to the value selected... ###
value.trace_variable("w", buildview)
Исключение, которое возникает, выглядит так (EDIT: Целые Traceback):
Traceback (most recent call last):
File "D:\Dropbox\PRO\infograbber\Infograbber 0.1.py", line 102, in <module>
mainloop()
File "C:\Python35\Python3564\lib\tkinter\__init__.py", line 405, in mainloop
_default_root.tk.mainloop(n)
File "C:\Python35\Python3564\lib\tkinter\__init__.py", line 1553, in __call__
self.widget._report_exception()
AttributeError: 'StringVar' object has no attribute '_report_exception'
Что именно вызывает это? Могу ли я не вызвать метод вызова себя таким образом? Я даже не знаю, с чего начать эту проблему, поэтому я буду благодарен за любую помощь.
Я использую Python 3.5 64 бит, Sublime Text 2, Windows 10.
EDIT: Добавлена функция обратного вызова тест:
def test(*args):
print("test")
и изменил выше трассировку
value.trace_variable("w", test)
Теперь исключение изменилось на это:
Traceback (most recent call last):
File "C:\Python35\Python3564\lib\tkinter\__init__.py", line 1549, in __call__
return self.func(*args)
File "D:\Dropbox\PRO\infograbber\Infograbber 0.1.py", line 56, in buildview
root.trace_variable("w", self.printcurrentarticle)
File "C:\Python35\Python3564\lib\tkinter\__init__.py", line 1948, in __getattr__
return getattr(self.tk, attr)
AttributeError: '_tkinter.tkapp' object has no attribute 'trace_variable'
Пожалуйста, опубликуйте весь отчет Traceback – vrs
@vrs Добавил его .. –
Итак, вы создали функцию с именем 'buildview', которая устанавливает трассировку для вызова' buildview'? Это _really_ ваш код? –