PyQt: tela inicial ao carregar bibliotecas “pesados”
-
22-08-2019 - |
Pergunta
Meu PyQt aplicativo que usa matplotlib
leva vários segundos para carregar pela primeira vez, mesmo em uma máquina rápida (o segundo tempo de carregamento é muito mais curto que as DLLs são mantidos na memória pelo Windows).
Eu estou querendo saber se é viável para mostrar uma tela enquanto a biblioteca matplotlib
está sendo carregado. Onde é que o actual local de carregamento take - é que quando a linha from
é executado? Se assim for, como posso fazer esta linha executar durante a tela inicial e ainda ser capaz de usar o módulo de todo o código?
Um dilema relacionado é como testar isso? - eu posso pedir o Windows para carregar as DLLs para cada execução e não cache-los
Solução
Sim, carregar o módulo ocorre na linha onde a instrução de importação é. Se você criar seu QApplication
e mostrar a sua tela inicial antes disso, você deve ser capaz de fazer o que quiser -. Também é preciso QApplication.processEvents()
chamada sempre que você precisar a tela inicial de atualização com uma nova mensagem