3.8. Экран-заставка.

Многие приложения показывают заставку во время запуска. Одни разработчики "показывают" заставку, чтобы снизить психологическое давление на пользователя, ожидающего пока приложение загрузится, другие -- в рекламных целях. Добавление экрана-заставки к приложению -- довольно простая задача.

В Qt реализация экрана-заставки выполнена в виде класса QSplashScreen, который выводит на экран окно с изображением до того, как приложение будет полностью загружено. Имеется возможность отображать ход загрузки на заставке. Код, который выводит заставку на экран, как правило размещается в функции main(), перед вызовом QApplication::exec().

Ниже показан пример функции main(), использующей QSplashScreen для вывода заставки на время загрузки дополнительных модулей и установки соединения по сети.

int main(int argc, char *argv[]) { QApplication app(argc, argv); QSplashScreen *splash = new QSplashScreen(QPixmap::fromMimeSource("splash.png")); splash->show(); splash->message(QObject::tr("Setting up the main window..."), Qt::AlignRight | Qt::AlignTop, Qt::white); MainWindow mainWin; app.setMainWidget(&mainWin); splash->message(QObject::tr("Loading modules..."), Qt::AlignRight | Qt::AlignTop, Qt::white); loadModules(); splash->message(QObject::tr("Establishing connections..."), Qt::AlignRight | Qt::AlignTop, Qt::white); establishConnections(); mainWin.show(); splash->finish(&mainWin); delete splash; return app.exec(); }

Рисунок 3.18. Виджет QSplashScreen.


На этом мы завершаем разработку пользовательского интерфейса приложения Spreadsheet и в следующей главе перейдем к реализации основной его функциональности.