Вход/Регистрация
QT 4: программирование GUI на С++
вернуться

Саммерфилд Марк

Шрифт:

Экранные заставки

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

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

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

01 int main(int argc, char *argv[])

02 {

03 QApplication app(argc, argv);

04 QSplashScreen *splash = new QSplashScreen;

05 splash->setPixmap(QPixmap(":/images/splash.png"));

06 splash->show;

07 Qt::Alignment topRight = Qt::AlignRight | Qt::AlignTop;

08 splash->showMessage(QObject::tr("Setting up the main window…"),

09 topRight, Qt::white);

10 MainWindow mainWin;

11 splash->showMessage(QObject::tr("Loading modules…"),

12 topRight, Qt::white);

13 loadModules;

14 splash->showMessage(QObject::tr("Establishing connections…"),

15 topRight, Qt::white);

16 establishConnections;

17 mainWin.show;

18 splash->finish(&mainWin);

19 delete splash;

20 return app.exec;

21 }

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

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

Глава 4. Реализация функциональности приложения

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

Центральный виджет

Центральную область QMainWindow может занимать любой виджет. Ниже дается краткий обзор возможных вариантов.

1. Стандартный виджет Qt

В качестве центрального могут использоваться стандартные виджеты, например QTableWidget или QTextEdit. В данном случае такие функции, как загрузка и сохранение файлов, должны быть реализованы в другом месте (например, в подклассе QMainWindow).

2. Пользовательский виджет

В специализированных приложениях часто требуется показывать данные в пользовательском виджете. Например, программа редактирования пиктограмм могла бы в качестве центрального использовать виджет IconEditor. В главе 5 рассматриваются способы написания пользовательских виджетов с помощью средств разработки Qt.

3. Базовый виджет QWidget с менеджером компоновки

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

4. Разделитель

Другой способ размещения в центральной области нескольких виджетов заключается в применении разделителя QSplitter. QSplitter размещает свои дочерние виджеты по горизонтали или по вертикали и предоставляет пользователю некоторые возможности по управлению размерами виджетов. Разделители могут содержать любые виджеты, включая другие разделители.

5. Рабочая область (workspace) интерфейса MDI

Если в приложении используется интерфейс MDI, центральную область будет занимать виджет QWorkspace, а каждое окно интерфейса MDI будет являться дочерним виджетом.

  • Читать дальше
  • 1
  • ...
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: