Жасмин Бланшет - QT 4 - программирование GUI на С++

Здесь есть возможность читать онлайн «Жасмин Бланшет - QT 4 - программирование GUI на С++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: КУДИЦ-ПРЕСС, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

QT 4: программирование GUI на С++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «QT 4: программирование GUI на С++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Единственное официальное руководстро по практическому программированию в среде Qt 4.1. Применяя средства разработки Qt компании «Trolltech», вы сможете создавать на С++ промышленные приложения, которые естественно работают в средах Windows, Linux/UNIX, Linux для встроенных систем без изменения программного кода и Mac Os X. Книга написана сотрудниками компании «Trolltech». Она представляет собой практическое руководство по успешному применению самой мощной из всех созданных до сих пор версий Qt — Qt 4.1.
Из книги «Qt 4: программирование GUI на С++» вы узнаете о наиболее эффективных приемах и методах программирования с применением Qt 4 и овладеете ключевыми технологиями в самых различных областях — от архитектуры Qt модель/представление до мощного графического процессора 2D. Авторы вооружают читателей беспрецедентно глубокими знаниями модели событий и системы компоновки Qt.
На реалистических примерах они описывают высокоэффективные методы во всех областях — от разработки основных элементов графического пользовательского интерфейса до передовых методов интеграции с базой данных и XML. Каждая глава содержит полностью обновленный материал.
Данное издание:
• Включает новые главы по архитектуре Qt 4 модель/представление и поддержке подключаемых модулей Qt, а также краткое введение в программирование встроенных систем на платформе Qtopia.
• Раскрывает все основные принципы программирования в среде Qt — от создания диалоговых и других окон до реализации функциональности приложений.
• Знакомит с передовыми методами управления компоновкой виджетов и обработкой событий.
• Показывает, как можно с наибольшей эффективностью использовать новые программные интерфейсы Qt 4, в частности мощный графический процессор 2D и новые простые в применении классы—контейнеры.
• Представляет передовые методы Qt 4, которых нет ни в одной книге: от создания подключаемых модулей, расширяющих возможности Qt, и приложений, до применения «родных» для конкретной платформы программных интерфейсов.
• Содержит приложение с подробным введением в программирование на С++ в среде Qt для опытных Java—разработчиков.
Жасмин Бланшет (Jasmine Blanchette) — менеджер по документированию и старший разработчик компании «Trolltech» с 2001 года. Он является редактором «Qt Quarterly», информационного бюллетеня компании «Trolltech», и соавтором книги «Qt 3: программирование GUI на С++».
Марк Саммерфилд (Mark Summerfield) — независимый преподаватель и консультант по С++, Qt и Python. Он работал менеджером по документированию в компании «Trolltech» на протяжении трех лет. Марк является соавтором книги «Qt 3: программирование GUI на С++».

QT 4: программирование GUI на С++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «QT 4: программирование GUI на С++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

01 void MainWindow::updateRecentFileActions()

02 {

03 QMutableStringListIterator i(recentFiles);

04 while (i.hasNext()) {

05 if (!QFile::exists(i.next()))

06 i.remove();

07 }

08 for (int j = 0; j < MaxRecentFiles; ++j) {

09 if (j < recentFiles.count()) {

10 QString text = tr("&%1 %2")

11 .arg(j + 1)

12 .arg(strippedName(recent Files[j]));

13 recentFileActions[j]->setText(text);

14 recentFileActions[j]->setData(recentFiles[j]);

15 recentFileActions[j]->setVisible(true);

16 } else {

17 recentFileActions[j]->setVisible(false);

18 }

19 }

20 separatorAction->setVisible(!recentFiles.isEmpty());

21 }

Сначала мы удаляем все файлы, которые больше не существуют, используя итератор в стиле Java. Некоторые файлы могли использоваться в предыдущем сеансе, но с этого момента их уже не будет. Переменная recentFiles имеет тип QStringList (список QStrings ). В главе 11подробно рассматриваются такие классы—контейнеры, как QStringList, и их связь со стандартной библиотекой шаблонов С++ (Standard Template Library — STL), a также применение в Qt классов итераторов в стиле Java.

Затем мы снова проходим по списку файла, на этот раз пользуясь индексацией массива. Для каждого файла мы создаем строку из амперсанда, номера файла (j + 1), пробела и имени файла (без пути). Для соответствующего пункта меню мы задаем этот текст. Например, если первым был файл С:\My Documents\tab04.sp, пункт меню первого недавно используемого файла будет иметь текст «&1 tab04.sp».

Рис 311 Меню File со списком файлов которые открывались недавно С каждым - фото 48

Рис. 3.11. Меню File со списком файлов, которые открывались недавно.

С каждым пунктом меню recentFileActions может быть связан элемент данных «data» типа QVariant. Тип QVariant может хранить многие типы С++ и Qt; он рассматривается в гл. 11. Здесь в элементе меню «data» мы храним полное имя файла, чтобы позже можно было легко его найти. Мы также делаем этот пункт меню видимым.

Если пунктов меню (массив recentFileActions ) больше, чем недавно открытых файлов (массив recentFiles ), мы просто не отображаем дополнительные пункты. Наконец, если существует по крайней мере один недавно используемый файл, мы делаем разделитель видимым.

01 void MainWindow::openRecentFile()

02 {

03 if (okToContinue()) {

04 QAction *action = qobject_cast(sender());

05 if (action)

06 loadFile(action->data(). toString());

07 }

08 }

При выборе пользователем какого-нибудь недавно используемого файла вызывается слот openRecentFile(). Функция okToContinue() используется в том случае, когда имеются несохраненные изменения, и если пользователь не отменил сохранение изменений, мы определяем, какой конкретный пункт меню вызвал слот, используя функцию QObject::sender().

Функция qobject_cast() выполняет динамическое приведение типов на основе мета―информации, сгенерированной moc — компилятором мета—объектов Qt. Она возвращает указатель на запрошенный подкласс QObject или 0, если нельзя объект привести к данному типу. В отличие от функции dynamic_cast() стандартного С++, функция Qt qobject_cast() работает правильно за пределами динамической библиотеки. В нашем примере мы используем qobject_cast() для приведения указателя QObject в указатель QAction. Если приведение удачно (а оно должно быть удачным), мы вызываем функцию loadFile(), задавая полное имя файла, которое мы извлекаем из элемента данных пункта меню.

Поскольку мы знаем, что слот вызывался объектом QAction, в данном случае программа все же правильно сработала бы при использовании функции static_cast() или при традиционном приведении С—типов. (См. раздел «Преобразование типов» в приложении Б, где дается обзор различных методов приведения типов в С++.)

Применение диалоговых окон

В данном разделе мы рассмотрим способы применения диалоговых окон в Qt: как они создаются и инициализируются и как они реагируют на действия пользователя при работе с ними. Мы будем использовать диалоговые окна Find, Go-to-Cell и Sort (найти, перейти в ячейку и сортировать), которые были созданы нами в главе 2. Мы также создадим простое окно About (справка о программе).

Рис 312 Диалоговое окно Find приложения Электронная таблица Мы начнем с - фото 49

Рис. 3.12. Диалоговое окно Find приложения Электронная таблица.

Мы начнем с диалогового окна Find. Поскольку мы хотим, чтобы пользователь имел возможность свободно переключаться с главного окна приложения Электронная таблица на диалоговое окно Find и обратно, это диалоговое окно должно быть немодальным. Немодальным называется окно, которое может работать независимо от других окон приложения.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «QT 4: программирование GUI на С++»

Представляем Вашему вниманию похожие книги на «QT 4: программирование GUI на С++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Бертрис Смолл - Дикарка Жасмин
Бертрис Смолл
Георгий Семенов - Жасмин в тени забора
Георгий Семенов
Жасмин Гиллори - Свадебное свидание
Жасмин Гиллори
Жасмин Майер - Онлайн
Жасмин Майер
Отзывы о книге «QT 4: программирование GUI на С++»

Обсуждение, отзывы о книге «QT 4: программирование GUI на С++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x