wxpython演示代码错误

时间:2012-04-25 21:14:53

标签: python user-interface widget wxpython

请原谅我提出这样一个业余问题,但我刚开始使用wxPython。当我尝试将GridLabelRenderer.py的演示代码复制并粘贴到新的python文件中时,我总是收到一条错误消息:

IDlE Subprocess: no IP port passed in sys. argv.

我认为该消息与我的文件不再保存在demos文件夹中的方式有​​关,错误是在讨论这段代码,我相信:

if __name__ == '__main__':
    import sys, os
    import run
    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])

每当我将演示代码复制并粘贴到新位置的新文件中时,我必须做些什么才能完美运行?提前谢谢。

2 个答案:

答案 0 :(得分:1)

我在wxPython wiki上写了一些关于此的内容:http://wiki.wxpython.org/Using%20wxPython%20Demo%20Code

这也可能在将来帮助你。

答案 1 :(得分:0)

使用wxPython演示代码在演示框架内运行。为了使用代码,最好的方法是获取类并在应用程序框架中实例化它们。

GridLabelRenderer.py的最简单方法可能是:

imports....
classes...

class TestPanel(wx.Panel):
    ...................

if __name__ == '__main__':
    app = wx.PySimpleApp()
    class MyFrame(wx.Frame):
        def __init__(self, *args, **kargs):
            wx.Frame.__init__(self, *args, **kargs)
            self.p = TestPanel(self, None)

    MyFrame(None).Show()
    app.MainLoop()

不要忘记将images.py从demo目录复制到你的目录或你的pythonpath中的directroy,以便通过类MyCornerLabelRenderer导入images.py