वर्तमान में मेरे पास एक स्पलैश स्क्रीन है। हालांकि, यह वास्तविक स्प्लैश स्क्रीन के रूप में काम नहीं करता है - क्योंकि यह शेष कोड के निष्पादन को रोकता है (उन्हें पृष्ठभूमि में चलाने की अनुमति देने के बजाय)।पृष्ठभूमि में चलाने के लिए मेरे कोड के अन्य टुकड़ों को अनुमति देने के लिए मेरी वर्तमान स्पलैश स्क्रीन को कैसे अनुकूलित करें?
यह मेरे कार्यक्रम के वर्तमान (कम) आर्किटेक्चर है, जिसमें महत्वपूर्ण बिट्स पूर्ण रूप से प्रदर्शित होते हैं। मैं वास्तव में शेष कार्यक्रम को पृष्ठभूमि में लोड करने की अनुमति देने के लिए वर्तमान में स्प्लैश स्क्रीन को कैसे अनुकूलित कर सकता हूं? क्या यह अजगर में संभव है?
धन्यवाद!
import ...
(many other imports)
def ...
def ...
(many other definitions)
class VFrams(wxFrame):
wx.Frame.__init__(self, parent, -1, _("Software"),
size=(1024, 768), style=wx.DEFAULT_FRAME_STYLE)
(a lot of code goes in here)
class MySplashScreen(wx.SplashScreen):
def __init__(self, parent=None):
aBitmap = wx.Image(name=VarFiles["img_splash"]).ConvertToBitmap()
splashStyle = wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT
splashDuration = 5000 # ms
wx.SplashScreen.__init__(self, aBitmap, splashStyle, splashDuration, parent)
self.Bind(wx.EVT_CLOSE, self.CloseSplash)
wx.Yield()
def CloseSplash(self, evt):
self.Hide()
global frame
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__':
DEBUG = viz.addText('DEBUG:', viz.SCREEN)
DEBUG.setPosition(0, 0)
DEBUG.fontSize(16)
DEBUG.color(viz.BLACK)
Start_Mainvars()
Start_Config()
Start_Translation()
Start_DB()
Start_Themes()
Start_Gui()
Start_Get_Isos()
Start_Bars()
Start_Menus()
Start_Event_Handlers()
app = MyApp()
app.MainLoop()
सभी मदद के लिए धन्यवाद यह कैसे मैं कोड (बशर्ते सलाह के बाद) को बदल दिया है,:, स्प्लैश स्क्रीन के लिए एक:
def show_splash():
# create, show and return the splash screen
global splash
bitmap = wx.Image(name=VarFiles["img_splash"]).ConvertToBitmap()
splash = wx.SplashScreen(bitmap, wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_NO_TIMEOUT, 0, None, -1)
splash.Show()
return splash
class MyApp(wx.App):
def OnInit(self):
global frame, splash
splash = show_splash()
Start_Config()
Start_Translation()
Start_DB()
Start_Themes()
Start_Gui()
Start_Get_Isos()
Start_Bars("GDP1POP1_20091224_gdp", "1 pork")
Start_Menus()
Start_Event_Handlers()
frame = VFrame(parent=None)
frame.Show(True)
splash.Destroy()
return True
if __name__ == '__main__':
DEBUG = viz.addText('DEBUG:', viz.SCREEN)
DEBUG.setPosition(0, 0)
DEBUG.fontSize(16)
DEBUG.color(viz.BLACK)
Start_Mainvars()
app = MyApp()
app.MainLoop()
बहुत बहुत धन्यवाद। मैं यह कोशिश कर रहा हूँ। – relima