关于类的新手混淆
问题描述:
我一直在试图没有成功地控制一个类内的对象,而没有这样的类。这些是重要的位(不是全部!)关于类的新手混淆
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()
答
您需要实例化您的VFrame类。
frame = VFrame(parent)
frame.SetStatusText("OK")
这是
frame = VFrame(parent)
VFrame.SetStatusText(frame, "OK")
从本质上讲,你要告诉你,你要设置的VFrame
的状态文本的电脑大多是语法糖。
+0
为了解决这个问题,除了你的建议之外,我在def CloseSplash中引入了“全局框架”。 – relima 2010-10-05 22:04:47
你会得到什么错误? – katrielalex 2010-10-05 21:57:32