2013-03-20 23 views
0

負載我想用wxPython的XRC資源工作。 這很好,但是在哪裏是一個大的「不」 - 從xrc沒有wxFrame class loadet的自動完成。和其他從xrc類加載。自動完成在wxPython如果從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") 

回答

0

好,自動完成功能有多好,完全取決於編輯器/ IDE你正在使用。你沒有指定你用來編寫python腳本的內容,但是從個人經驗來看,我認爲它可能是真的,沒有自動完成。

我使用的Eclipse/PyDev的,Spyder的,SPE和PyCharm在過去,他們都沒有表現出自動完成與XRC創建的小部件的能力。你仍然可以嘗試讓Python的Emacs自動完成工作並在那裏嘗試,但我懷疑它會起作用。

我不覺得這是一個特別的障礙,但每個人都不同了,我猜。希望能回答你的問題。

+0

我使用Eclipse/PyDev和SPE。所以我認爲在XRC裏真的沒有自動完成... – Viktor 2013-03-30 12:59:12

0

是自動完成也不會在這裏工作,因爲我們的代碼不知道什麼XRC會返回。您的代碼僅在運行時纔會瞭解變量的類型(在本例中爲框架)。

而且,不幸/幸運的是,我們不能「類型」分配給Python中的變量自動完成工作。

但在Eclipse + PyDev的插件

您可以添加此語句自動完成的工作:

斷言isinstance(self.frame,wx.Frame)這個語句後

自動完成的作品。