请原谅我提出这样一个业余问题,但我刚开始使用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:])
每当我将演示代码复制并粘贴到新位置的新文件中时,我必须做些什么才能完美运行?提前谢谢。
答案 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