2010-05-24 11 views
0

J'ai un SplashScreen affiché pendant le chargement de mon application en arrière-plan.SplashScreen couvre tout MessageBoxes dans wxPython?

Malheureusement, si des erreurs se produisent lors de l'initialisation de l'application, un MessageBox est affiché, mais il est derrière le splash. Cela empêche l'utilisateur de voir le message et de le rejeter (le seul moyen de quitter est le gestionnaire de tâches).

Q: Y a-t-il un moyen de masquer le SplashScreen en cas d'erreur ou d'autoriser les MessageBox à s'afficher au-dessus? J'utilise wxPython 2.8.10.1 avec Python 2.6.5 sous Windows.

Répondre

1

Vous pouvez essayer quelque chose comme ce qui suit:

import wx 

class MySplashScreen(wx.SplashScreen): 
    # splash screen impl 
    ... 

class MyApp(wx.App): 
    def OnInit(self): 
     self.splash = MySplashScreen() 
     # rest of app initialisation 
     ... 

app = MyApp() 
try: 
    app.MainLoop() 
except: 
    app.splash.Close()