Есть ли способ отладки приложения Python tkinter, находясь в mainloop? - PullRequest
0 голосов
/ 21 апреля 2019

Я пытался отладить приложение python tkinter, но заметил, что мой отладчик просто перестал работать, когда он достиг метода mainloop () tkinter.

Хотя мое приложение работало должным образом, взаимодействие с ним, похоже, не обновляло мой отладчик или значения переменных. После поиска я нашел очень мало информации по этой теме, и что невозможно отладить приложение tkinter, пока оно находится в mainloop, так как основная библиотека написана на C.

Конечно, должны быть какие-то обходные пути?

В данный момент я чувствую, что мне приходится отлаживать каждое взаимодействие в моем приложении tkinter вручную, что крайне запутанно и неэффективно, поскольку мое приложение становится сложным.

1 Ответ

0 голосов
/ 21 апреля 2019

Не ставьте точки останова перед основной петлей. Поместите точку останова в действие, которое вы хотите отладить, например, команда кнопки:

def command():
    print("hello")  # <-- breakpoint here

tk.Button(frame,
          text="Hello",
          command=command)

Тогда отладчик может на этом остановиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...