【发布时间】:2016-12-16 03:41:50
【问题描述】:
我正在使用 tkinter 在 OSX 上使用 anaconda python 和 spyder 构建 GUI 应用程序。当我的 tkinter 窗口打开时,我无法在 ipython 控制台中得到提示。我可以设置断点并进入调试器,但之后 Spyder 将很快冻结或崩溃。
这是失败的示例代码:
from tkinter import *
def toggle():
i = 1
b = 2
print(i, b)
pass
root = Tk()
frame = Frame(root, width=100, height=100)
button = Button(frame,text="Press", command=toggle).grid(column=1, row=1)
frame.pack()
root.mainloop()
我运行调试器并在 toggle() 函数中设置断点。在 ipdb> 提示符下,我可以获取框架的状态,但没有任何按钮,如下所示:
ipdb> frame
<tkinter.Frame object .4709317264>
ipdb> button
我单击 tkinter 窗口中的按钮并返回 ipdb> 提示符,很快 spyder 崩溃了。
问题 1:这可以解决吗? 问题 2:有没有办法让 Spyder ipython 控制台和变量资源管理器窗格在 tkinter 窗口打开时正常工作?
【问题讨论】:
标签: python debugging tkinter spyder