我正在尝试使用wxpython中的xrc资源。这很好,但是有一个很大的“不”--没有来自xrc的wxFrame类加载器的自动完成。以及其他从xrc类加载的类。
这是对的吗?还是我在做什么wgong?
下面是示例代码的一部分:
import wx
from wx import xrc
class MyApp(wx.App):
def OnInit(self):
if os.path.exists("phc.xrc"):
self.res = xrc.XmlResource("phc.xrc")
self.frame = self.res.LoadFrame(None, 'MyFrame')
self.list_box = xrc.XRCCTRL(self.frame, "list_box_1")
self.notebook = xrc.XRCCTRL(self.frame, "Notebook")
self.StatusBar= xrc.XRCCTRL(self.frame, "MFrame_statusbar")
self.list_ctrl= xrc.XRCCTRL(self.frame, "list_ctr_1")发布于 2013-03-25 03:17:37
那么,自动补全功能有多好完全取决于您所使用的编辑器/IDE。你没有具体说明你用什么来写python脚本,但从个人经验来看,我会说这可能是真的,没有自动补全。
我过去用过Eclipse、Spyder、SPE和PyCharm,它们都没有显示出自动完成用XRC创建的小部件的能力。您仍然可以尝试让Emacs autocomplete for Python工作,并在那里尝试它,但我怀疑它是否能工作。
我没有发现这是一个特别的障碍,但我想每个人都是不同的。希望这能回答你的问题。
发布于 2013-07-25 11:25:04
是的,自动补全在这里不起作用,因为我们的代码不知道xrc将返回什么。您的代码只能在运行时才知道变量的类型(在本例中为frame)。
而且,不幸/幸运的是,我们不能在Python中将'type‘赋给变量以使自动补全起作用。
但是在Eclipse + PyDev插件中
您可以添加以下语句以使autocomplete正常工作:
断言isinstance(self.frame,wx.Frame)
autocomplete在此语句之后工作。
https://stackoverflow.com/questions/15523307
复制相似问题