2016-01-27 2 views
-1

Я делаю простую программу, которая также включает использование TKinter. Включение - это скопировать и вставить в мой буфер обмена, а также проверить содержимое моей клавиатуры. Однако, без особых изменений от меня, консоль выплевывает ошибку:PYTHON-tkinter ERROR Ошибка команды события вызова

can't invoke "event" command: application has been destroyed while executing 
"event generate $w <<ThemeChanged>>" (procedure "ttk::ThemeChanged" line 6) 
invoke from within "ttk::ThemeChanged"` 

Мои вопросы:

  1. Я не понимаю, что значит ошибка;
  2. Я не понимаю, как это исправить.

С моей точки зрения, эта ошибка обычно возникает из-за использования matplotlib, который я не использую. Консоль python по-прежнему может работать после этого сообщения, но это раздражает и отвлекает.

вот код, который, по моему мнению, влияет на него.

from Tkinter import Tk 

r = Tk() 
r.withdraw() 
r.clipboard_clear() 
r.clipboard_append(finalbib) 
r.destroy() 
#os.startfile("TEMPPY.py") 
clipbardtest=True 
while clipbardtest: 
    r=Tk() 
    clippytest = r.clipboard_get() 
    r.destroy() 
    if clippytest==finalbib: 
     os.system('cls') 
     print "Successfully copied to clipboard" 
     #os.remove("TEMPPY.py") 
     clipbardtest=False 
     morebibdef()   
    else: 
     time.sleep(1.2) 
     #os.startfile("TEMPPY.py") 
     r = Tk() 
     r.withdraw() 
     r.clipboard_clear() 
     r.clipboard_append(finalbib) 
     r.destroy() 
+0

Ошибка полностью не связана с matplotlib. Может быть, что matplotlib вызывает эти ошибки, но ошибки могут быть вызваны множеством разных вещей. –

ответ

0

Смотрите один из комментариев от this question

Если вы используете это в консоли сценарии это может привести к ошибке, что функция .destroy() не будет работать («не может ссылаться на» event ": приложение было уничтожено при выполнении [...]"). Чтобы предотвратить , вызовите r.update() перед r.destroy.

0

Ошибка означает, что все окна tkinter были уничтожены, но что-то пытается сгенерировать событие. Чтобы создать событие, у вас должно быть окно.

+0

есть все равно, чтобы исправить это? Я не думаю, что у меня есть код, который может разрушить окно. –

+0

@JohnHon: он почти наверняка может быть исправлен. Тем не менее, я не очень хорошо разбираюсь в коде, который я не вижу. Вы должны попытаться создать [MCVE] (http://www.stackoverflow.com/help/mcve). –

+0

Извините за долгое ожидание, вот образец кода, который, я думаю, должен влиять на него. Я использую окно tkinter для копирования и оценки буфера обмена. Я помещаю код в вопрос. –

Смежные вопросы