新手对课程的困惑

时间:2010-10-05 21:47:02

标签: python class

我一直试图在没有这样的类的情况下控制类中的对象,但没有成功。这些是重要的部分(不是整个事情!)

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

1 个答案:

答案 0 :(得分:1)

您需要实例化您的VFrame类。

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

这主要是

的语法糖
frame = VFrame(parent)
VFrame.SetStatusText(frame, "OK")

基本上,您必须告诉计算机您要设置哪个VFrame的状态文本。