Шаг 175.
Библиотека Qt.
Экранные заставки

    На этом шаге рассмотрим создание экранной заставки к приложению Электронные таблицы.

    Многие приложения при запуске выводят на экран заставки, например такую, которая показана на рис. 1.


Рис.1. Экранная заставка

    Некоторыми разработчиками заставки используются, чтобы сделать менее заметным медленный запуск приложения, а в других случаях это делается для удовлетворения требований отделений, отвечающих за маркетинг. Можно очень просто добавить заставку в приложение Qt, используя класс QSplashScreen.

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

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

void loadModules(QSplashScreen* psplash)
{
    QTime time;
    time.start();
    for (int i = 0; i < 100; ) {
        if (time.elapsed() > 100) {
            time.start();
            ++i;
        }
       psplash->showMessage("Загрузка модулей: "
                               + QString::number(i) + "%",
                               Qt::AlignRight | Qt::AlignTop,
                               Qt::white);
    }
}

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QSplashScreen *splash = new QSplashScreen;
    splash->setPixmap(QPixmap(":/images/splash.png"));
    splash->show();
    Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;
    splash->showMessage(QObject::tr("Создание главного окна приложения..."),
                           topRight, Qt::white);
    MainWindow mainWin;
    splash->showMessage(QObject::tr("Загрузка модулей..."),
                           topRight, Qt::white);
    loadModules(splash);
    mainWin.show();
    splash->finish(&mainWin);
    delete splash;
    return app.exec();
}

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

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




Предыдущий шаг Содержание Следующий шаг