2013-08-06 35 views
0

比方说,我有一个框架我可以从IDLE控制台访问我的wxpython框架的属性吗?

class Frame(wx.Frame): 
def __init__(self, *args, **kwargs): 
    super(Frame, self).__init__(*args, **kwargs) 

    self.InitUI() 
    self.SetSize((380,340)) 
    self.Show() 
    self.something = 0 

其中我开始像这样:

if __name__ == '__main__': 
    app = wx.App() 
    frame = Frame(None) 
    app.MainLoop() 

和调试过程中我发现,我认为一个bug是有关self.something。我可以通过IDLE的控制台查看self.something的内容吗?

回答

1

对于你会发现它值得寻找一个IDE内置的调试器,有是几个很好的免费的。

或者,你可以使用winpdb这将给你一个完整的调试器作为一个独立的,它适用于wxPython。

这也是值得看看python documents on debugging,因为你可以从你的代码中打开调试控制台。

也有wx inspection tool,在你的代码尝试:

import wx.lib.inspection 
wx.lib.inspection.InspectionTool().Show() 

enter image description here

+0

谢谢!你能推荐一些好的免费IDE吗? – pedram

+0

我提到的PyDev是免费的。还有一大堆其他的:http://wiki.python.org/moin/IntegratedDevelopmentEnvironments。我认为有一个免费的Komodo版本,我听说过有关eric的好消息。 –

+0

我对Eric,SPE,Wing 101以及其他一些人的经历总体上是积极的,因为你最初想问的是什么,尝试一下wx.inspection它可以让你看到你所要求的。 –

1

我对此表示怀疑。您需要某种可以暂停主流程的调试器,以便您可以仔细查看。我听说PyDev/Eclipse的工作原理,我知道WingWare的IDE有一个调试器,可以和wx一起工作,因为我一直都在使用它。我还没有找到关于Python调试器(pdb)是否可以将自己附加到wx的硬数据。

您可能会发现下面的主题虽然有用:

相关问题