Bonjour,

je me suis lancé, il y a quelques mois de ça, à créer une petite application en python 3.3 et pyqt4.

Etant ultra novice et n'y connaissant rien du tout en programmation avant cela, j'ai quand même réussi à créer mon application grâce à beaucoup de recherches et aussi grâce à ce forum.

Je suis assez fier du résultat, cependant j'aimerais bien faire une dernière petite chose :
lancer un splash screen contenant un GIF au démarrage de l'application.

Voici la fin de mon code, le splash screen se lance bien mais le GIF tourne en boucle et l'application ne démarre pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
 
class MySplashScreen(QSplashScreen):
    def __init__(self, animation, flags):
        QSplashScreen.__init__(self, QPixmap(), flags)
        self.movie = QMovie(animation)
        self.connect(self.movie, SIGNAL('frameChanged(int)'), SLOT('onNextFrame()'))
        self.movie.start()
 
    @pyqtSlot()
    def onNextFrame(self):
        pixmap = self.movie.currentPixmap()
        self.setPixmap(pixmap)
        self.setMask(pixmap.mask())
 
def longInitialization(arg):
    time.sleep(arg)
    return 0
###################################
if __name__ == "__main__":
 
    import sys, time # Import du module sys
 
    app = QtGui.QApplication(sys.argv) 
 
    splash = MySplashScreen('SplashGIF.gif', Qt.WindowStaysOnTopHint)
    splash.show()
    app.processEvents()
 
    initLoop = QEventLoop()
    pool = Pool(processes=1)
    pool.apply_async(longInitialization, [2], callback=lambda exitCode: initLoop.exit(exitCode))
    initLoop.exec_()
 
    acc = Ui_Accueil()
    acc.show()
    main = Ui_MainWin()
    splash.finish()
    sys.exit(app.exec_())
 
os.system("pause")
J'ai trouvé ce code en grande partie sur le net, serait-il possible de m'aider à le modifier, avec des thermes pas trop compliqués, afin que je puisse finaliser mon projet une bonne fois pour toute?

Merci d'avance à vous.