PyQt:экран-заставка при загрузке “тяжелых” библиотек
-
22-08-2019 - |
Вопрос
Мое приложение PyQt, которое использует matplotlib
загрузка в первый раз занимает несколько секунд, даже на быстродействующем компьютере (время второй загрузки намного короче, поскольку библиотеки DLL хранятся в памяти Windows).
Мне интересно, возможно ли показать заставку, в то время как matplotlib
библиотека загружается.Где происходит фактическая загрузка - это когда from
строка выполнена?Если да, то как я могу заставить эту строку выполняться во время заставки и при этом иметь возможность использовать модуль на протяжении всего кода?
Связанная с этим дилемма заключается в том, как это протестировать - могу ли я попросить Windows загружать библиотеки DLL для каждого выполнения и не кэшировать их?
Решение
Да, загрузка модуля происходит в строке, где находится оператор import .Если вы создадите свой QApplication
и покажите свою заставку перед этим, вы должны быть в состоянии делать то, что вы хотите - также вам нужно позвонить QApplication.processEvents()
всякий раз, когда вам нужно обновить заставку новым сообщением.