2005年08月14日 星期日 00:53
我现在使用的是python 2.4.1,wxPython 2.6.1 Unicode版。 我下载了对应于wxPython 2.6的demo回来。 运行sample目录下面的wxProject例子,发现treeview控件在获取节点内容的时候出错。 下面是出错的代码,如果wxPriject.py没有改过的话,它在137行。 (child,iter) = self.tree.GetFirstChild(self.root,iter) 报错的信息如下: Traceback (most recent call last): File "D:\eclipse\workspace\python\src\wxPython-2.6.1.0_DEMO\samples\wxProject\wxProject.py", line 226, in OnFileAdd self.project_save() File "D:\eclipse\workspace\python\src\wxPython-2.6.1.0_DEMO\samples\wxProject\wxProject.py", line 138, in project_save (child,iter) = self.tree.GetFirstChild(self.root,iter) File "D:\python_home\python24\Lib\site-packages\wx-2.6-msw-unicode\wx\_controls.py", line 5442, in GetFirstChild return _controls_.TreeCtrl_GetFirstChild(*args, **kwargs) TypeError: TreeCtrl_GetFirstChild() takes exactly 2 arguments (3 given) 看错误信息是我提供的参数个数不正确,可是在调用的地方确实是2个参数阿,怎么会变成3个了? 我打印了一下self.root的类型:看上去也没问题阿。 这是为什么呢?
2005年08月14日 星期日 07:42
在 05-8-14,马踏飞燕<honeyday.mj at gmail.com> 写道: > TypeError: TreeCtrl_GetFirstChild() takes exactly 2 arguments (3 given) > > 看错误信息是我提供的参数个数不正确,可是在调用的地方确实是2个参数阿,怎么会变成3个了? > 我打印了一下self.root的类型:> 看上去也没问题阿。 > > 这是为什么呢? 在python里面的类方法,self也是一个参数,就是说如果你调用的时候传递给方法的参数是两个那么就相当于至少3个参数了,因为还有self。没有看源代码不知道是你改变了代码增加了参数还是什么其它原因。
2005年08月14日 星期日 08:59
> 下面是出错的代码,如果wxPriject.py没有改过的话,它在137行。 > (child,iter) = self.tree.GetFirstChild(self.root,iter) wx.TreeCtrl的GetFirstChild只需要self.root一个参数,后面那个不需要: child, iter = self.tree.GetFirstChild(self.root) 我当初也被文档骗过。^_^
2005年08月14日 星期日 12:09
我做过treectrl的程序,带第三个参数,发现当我在wxpython2.4.2.4环境下运行时一切正常,而在2.6.0.1下运行则报错,删掉最后一个参数后发现,无论在新老版本下均可正常运行。 在05-8-14,Jason Liu <telecomliu at gmail.com> 写道: > > > 下面是出错的代码,如果wxPriject.py没有改过的话,它在137行。 > > (child,iter) = self.tree.GetFirstChild(self.root,iter) > > wx.TreeCtrl的GetFirstChild只需要self.root一个参数,后面那个不需要: > child, iter = self.tree.GetFirstChild(self.root) > > 我当初也被文档骗过。^_^ > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050814/db40cdce/attachment.htm
2005年08月14日 星期日 19:16
在 05-8-14,Tangram Liu<langram at gmail.com> 写道: > 我做过treectrl的程序,带第三个参数,发现当我在wxpython2.4.2.4环境下运行时一切正常,而在2.6.0.1下运行则报错,删掉最后一个参数后发现,无论在新老版本下均可正常运行。 > > 在05-8-14,Jason Liu < telecomliu at gmail.com> 写道: > > > > > 下面是出错的代码,如果wxPriject.py没有改过的话,它在137行。 > > > (child,iter) = self.tree.GetFirstChild(self.root,iter) > > > > wx.TreeCtrl的GetFirstChild只需要self.root一个参数,后面那个不需要: > > child, iter = self.tree.GetFirstChild(self.root) > > > > 我当初也被文档骗过。^_^ 晕倒! 源程序我没有改过,没想到官方的sample也靠不住。。。。 看来学开源必须先学会怀疑了,官方来的也不可全信。。。 测试之后问题解决了。 GetFirstChild(self.root) 方法是2个参数 GetNextChild(self.root,iter) 方法是3个参数 也许是为了省一个参数吧,把GetFirstChild的iter=0给去掉了。
2005年08月14日 星期日 19:17
在 05-8-14,Tangram Liu<langram at gmail.com> 写道: > 我做过treectrl的程序,带第三个参数,发现当我在wxpython2.4.2.4环境下运行时一切正常,而在2.6.0.1下运行则报错,删掉最后一个参数后发现,无论在新老版本下均可正常运行。 > 上面的问题就是版本升级后与文档不一致了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年08月14日 星期日 19:21
> 晕倒! > 源程序我没有改过,没想到官方的sample也靠不住。。。。 > 看来学开源必须先学会怀疑了,官方来的也不可全信。。。 这已经是很早以前的一个问题了,没注意过它一直有问题。 -- I like python! My Donews Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号