在主循环中,有什么方法可以调试Python tkinter应用程序?

时间:2019-04-21 14:14:45

标签: python python-3.x tkinter

我正在尝试调试python tkinter应用程序,但我注意到调试器在到达tkinter的mainloop()方法时刚刚停止工作。

尽管我的应用程序按预期运行,但与它的交互似乎并未更新调试器或变量值。在四处搜寻之后,我发现关于该主题的信息很少,而且由于核心库是用C编写的,因此在mainloop中无法调试tkinter应用。

肯定有一些解决方法?

此刻,我发现自己不得不手动调试tkinter应用程序上的每个交互,随着我的应用程序变得越来越复杂,这非常浪费时间并且效率低下。

1 个答案:

答案 0 :(得分:0)

不要在主循环之前放置断点。在要调试的动作中添加断点,例如按钮命令:

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

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

然后调试器可以在此处停止。