【问题标题】:wxpython demo code errorwxpython演示代码错误
【发布时间】:2012-04-25 21:14:53
【问题描述】:

请原谅我问了这么一个业余的问题,但我刚刚开始使用 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:])

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

【问题讨论】:

  • 你试过没有它运行代码吗?

标签: python user-interface widget wxpython


【解决方案1】:

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

这也可能在将来对您有所帮助。

【讨论】:

    【解决方案2】:

    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 从演示目录复制到您的目录或 pythonpath 中的目录,以便通过 MyCornerLabelRenderer 类导入 images.py

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多