PyQt:splash screen durante il caricamento di “pesante” librerie
-
22-08-2019 - |
Domanda
Il mio PyQt applicazione che utilizza matplotlib
impiega diversi secondi a caricare per la prima volta, anche su una macchina veloce (il secondo tempo di caricamento è molto più breve, come le Dll vengono tenuti in memoria di Windows).
Mi chiedo se è fattibile per mostrare una schermata iniziale, mentre il matplotlib
la biblioteca è in fase di caricamento.Da dove viene l'effettivo carico avvenire - è quando il from
la linea è eseguito?Se è così, come posso fare questa linea di eseguire durante la schermata di avvio e di essere ancora in grado di utilizzare il modulo di tutto il codice?
Correlate dilemma è come testare questo - posso chiedere di Windows per caricare la Dll per ogni esecuzione, e la cache non loro?
Soluzione
Sì, il caricamento del modulo avviene la riga in cui l'istruzione import è.Se si crea il tuo QApplication
e mostra la schermata iniziale prima di questo, si dovrebbe essere in grado di fare ciò che si vuole, inoltre, è necessario chiamare QApplication.processEvents()
ogni volta che avete bisogno la schermata di aggiornamento con un nuovo messaggio.