Autocomplete 如果从xrc加载,则在wxpython中自动完成

Autocomplete 如果从xrc加载,则在wxpython中自动完成,autocomplete,wxpython,xrc,Autocomplete,Wxpython,Xrc,我正在尝试与wxpython中的xrc资源合作。 这很好,但有一个很大的“否”在哪里呢?xrc没有自动完成wxFrame类loadet。以及其他从xrc类加载的 这是对的还是我在干什么 下面是代码的一部分,例如: import wx from wx import xrc class MyApp(wx.App): def OnInit(self): if os.path.exists("phc.xrc"): self.res = xrc.XmlRe

我正在尝试与wxpython中的xrc资源合作。 这很好,但有一个很大的“否”在哪里呢?xrc没有自动完成wxFrame类loadet。以及其他从xrc类加载的

这是对的还是我在干什么

下面是代码的一部分,例如:

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")

自动完成功能的好坏完全取决于您使用的编辑器/IDE。您没有指定要使用什么来编写python脚本,但根据个人经验,我想说这可能是真的,没有自动完成

我在过去使用过Eclipse/PyDev、Spyder、SPE和PyCharm,它们都没有显示出自动完成用XRC创建的小部件的能力。您仍然可以尝试让Emacs autocomplete for Python工作并在那里尝试,但我怀疑它是否能工作


我没有发现这是一个特别的障碍,但我想每个人都不一样。希望这能回答您的问题。

是的,自动完成在这里不起作用,因为我们的代码不知道xrc将返回什么。您的代码只在运行时了解变量的类型(在本例中为frame)

不幸的是/幸运的是,我们不能在Python中为变量指定“type”以使自动完成工作

但是在Eclipse+PyDev插件中

您可以添加此语句以使autocomplete正常工作:

断言isinstance(self.frame、wx.frame)


自动完成在这个语句之后工作。

我正在使用Eclipse/PyDev和SPE。所以我认为XRC中确实没有自动完成。。。