2010-10-05 4 views
1

Я пытался, без успеха, управлять объектом внутри класса без такого класса. Это важные биты (не все!)Новичок Путаница в отношении классов

def GOGO():     ################################################ 
    VFrame.SetStatusText("Ok") # ----> THIS IS WHAT I AM TRYING TO FIX  # 
           # ----> I have tried all sorts of combinations # 
           # ----> and I still can't change this property # 
           ################################################ 
           # How do I fix this? What am I doing wrong??? # 
           ################################################ 
class VFrame(wx.Frame): 
    def __init__(self, parent): 
     wx.Frame.__init__(self, parent, -1, _("Glob"), 
          size=(1024, 768), style=wx.DEFAULT_FRAME_STYLE) 
     self.SetStatusText("Ready - Disconnected from Database.") 

class MySplashScreen(wx.SplashScreen): 
    def __init__(self, parent=None): 
     aBitmap = wx.Image(name=img_splash).ConvertToBitmap() 
     splashStyle = wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT 
     splashDuration = 50 
     wx.SplashScreen.__init__(self, aBitmap, splashStyle, splashDuration, parent) 
     self.Bind(wx.EVT_CLOSE, self.CloseSplash) 
     wx.Yield() 
    def CloseSplash(self, evt): 
     self.Hide() 
     frame = VFrame(parent=None) 
     app.SetTopWindow(frame) 
     frame.Show(True) 
     evt.Skip() 

class MyApp(wx.App): 
    def OnInit(self): 
     MySplash = MySplashScreen() 
     MySplash.Show() 
     return True 

if __name__ == '__main__': 
    app = MyApp() 
    app.MainLoop() 
+0

Какая ошибка вы получаете? – katrielalex

ответ

1

Вам необходимо создать экземпляр класса VFrame.

frame = VFrame(parent) 
frame.SetStatusText("OK") 

В основном это синтаксический сахар для

frame = VFrame(parent) 
VFrame.SetStatusText(frame, "OK") 

По существу, вы должны указать компьютер, на котором текст статуса VFrame «s вы хотите установить.

+0

Чтобы исправить эту проблему, в дополнение к вашему предложению я представил «глобальный фрейм» в пределах def CloseSplash. – relima

Смежные вопросы