我一直在尝试从没有类的情况下控制类中的对象,但没有成功。这些是重要的部分(不是全部!)
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
的状态文本。
关于python - 新手对类(class)的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3868019/