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


Авторские права

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

Здесь можно скачать бесплатно "Жасмин Бланшет - QT 4: программирование GUI на С++" в формате fb2, epub, txt, doc, pdf. Жанр: Программирование, издательство КУДИЦ-ПРЕСС, год 2007. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Жасмин Бланшет - QT 4: программирование GUI на С++
Рейтинг:
Название:
QT 4: программирование GUI на С++
Издательство:
КУДИЦ-ПРЕСС
Год:
2007
ISBN:
978-5-91136-038-2
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "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 на С++».






Мы начинаем с настройки QTreeWidget. Затем мы создаем объекты QFile и DomParser. При выполнении конструктора DomParser осуществляется синтаксический анализ файла и пополняется виджет дерева.

Как и в предыдущем примере, для сборки приложения с библиотекой QtXml в файл .pro необходимо добавить следующую строку:

QT += xml

Как показывает наш пример, проход по дереву DOM может быть достаточно непростым делом. Простая операция по извлечению текста между тегами <page> и </page> требует обработки в цикле элементов списка при помощи функций firstChild() и nextSibling() класса QDomNode. Программисты, которым очень часто приходится использовать интерфейс DOM, создают свои собственные высокоуровневые функции—оболочки для упрощения выполнения таких наиболее распространенных операций, как извлечение текста между открывающими и закрывающими тегами.

Запись документов XML

Существует два основных подхода к формированию файлов XML в приложениях Qt:

• мы можем построить дерево DOM и вызвать для него функцию save();

• мы можем сформировать файл XML вручную.

Выбор между этими подходами часто не зависит от типа используемого нами интерфейса для чтения документов XML: SAX или DOM.

Ниже приводится фрагмент программного кода, который иллюстрирует способ создания дерева DOM и его записи при помощи QTextStream:

const int Indent = 4;


QDomDocument doc;

QDomElement root = doc.createElement("doc");

QDomElement quote = doc.createElement("quote");

QDomElement translation = doc.createElement("translation");

QDomText latin = doc.createTextNode("Ars longa vita brevis");

QDomText english = doc.createTextNode("Art is long, life is short");


doc.appendChild(root);

root.appendChild(quote);

root.appendChild(translation);

quote.appendChild(latin);

translation.appendChild(english);


QTextStream out(&file);

doc.save(out, Indent);

Второй аргумент функции save() задает размер отступа. При ненулевом его значении читаемость сформированного файла будет лучше. Ниже приводится полученный на выходе файл XML:

<doc>

....<quote>Ars longa vita brevis</quote>

....<translation>Art is long, life is short</translation>

</doc>

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

По умолчанию функция QDomDocument::save() использует для генерации файла кодировку UTF-8. Мы можем применить другую кодировку, если добавить XML—объявление, например такое, как

<?xml version="1.0" encoding="ISO-8859-1"?>

в начало дерева DOM. Следующий фрагмент программного кода показывает, как это делать:

QTextStream out(&file);

QDomNode xmlNode = doc.createProcessingInstruction("xml",

"version=\"1.0\" encoding=\"ISO-8859-1\"");

doc.insertBefore(xmlNode, doc.firstChild());

doc.save(out, Indent);

Формирование файлов XML вручную выполняется не намного сложнее, чем при помощи DOM. Мы можем использовать QTextStream и писать строки, как мы бы делали с любым другим текстовым файлом. Наиболее сложным является вставка специальных символов в текст и значения атрибутов. Функция Qt::escape() заменяет символы '<', '>' и '&'. Ниже приводится пример ее использования:

QTextStream out(&file);

out.setCodec("UTF-8");

out << "<doc>\n"

<< " <quote>" << Qt::escape(quoteText) << "</quote>\n"

<< " <translation>" << Qt::escape(translationText) << "</translation>\n"

<< "</doc>\n";

В статье «Generating XML» (Формирование документов XML) в журнале «Qt Quarterly», доступной в сети Интернет по адресу http://doc.trolltech.com/qq/qq05-generating-xml.html, рассматривается очень простой класс, позволяющий легко формировать файлы XML. Этот класс решает вопросы, связанные со специальными символами, отступами и кодировкой, позволяя нам полностью сконцентрироваться на документе XML, который мы собираемся формировать. Он предназначен для работы с Qt 3, но его очень легко перенести на Qt 4.

Глава 16. Обеспечение интерактивной помощи

Большинство приложений предоставляют своим пользователям систему помощи, работающую в интерактивном режиме. В некоторых случаях эта помощь носит форму коротких сообщений, например, в виде всплывающих подсказок, комментариев в строке состояния и справок «что это такое?». Все это, естественно, поддерживается в Qt. В других случаях система помощи может быть значительно сложнее и может содержать много страниц текста. Для такого рода систем вы можете воспользоваться классом QTextBrowser в качестве простого браузера системы помощи, а также вы можете вызывать из вашего приложения Qt Assistant или другой браузер файлов HTML.

Всплывающие подсказки, комментарии в строке состояния и справки «что это такое?»

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

Мы можем добавлять всплывающие подсказки к любым виджетам путем включения в программный код вызова функции QWidget::setToolTip(). Например:

findButton->setToolTip(tr("Find next"));

Для установки всплывающей подсказки для объекта QAction, который может быть добавлен к меню или панели инструментов, мы можем просто вызвать функцию setToolTip() для этой команды. Например:

newAction = new QAction(tr("&New"), this);

newAction->setToolTip(tr("New document"));

Если мы явно не устанавливаем всплывающую подсказку, QAction автоматически сформирует ее на основе текста команды.

Комментарии в строке состояния (status tip) также представляют собой короткие текстовые сообщения, причем они обычно немного длиннее всплывающих подсказок. При нахождении курсора мышки на кнопке панели инструментов или на строке меню такой комментарий появляется в строке состояния. Для добавления к команде или к виджету отображаемого в строке состояния комментария необходимо вызвать функцию setStatusTip():

newAction->setStatusTip(tr("Create a new document"));

Рис. 16.1. В этом приложении отображаются всплывающая подсказка и комментарий в строке состояния.

В некоторых ситуациях желательно обеспечить больше информации о виджете, чем это возможно сделать с помощью всплывающих подсказок или комментариев в строке состояния. Например, у нас может возникнуть потребность в обеспечении сложного диалогового окна с пояснительным текстом для каждого поля без принуждения пользователя к вызову отдельного окна системы помощи. Режим «что это такое?» идеально подходит для этого. Когда окно находится в режиме «что это такое?», курсор приобретает форму «?» и пользователь может щелкнуть по любому компоненту интерфейса пользователя для получения текста помощи. Для входа в режим «что это такое?» пользователь может либо нажать на кнопку «?» в строке заголовка диалогового окна (в системе Windows и KDE), либо нажать сочетание клавиш Shift+F1.

Ниже приводится пример установки для диалогового окна текста справки «что это такое?»:

dialog->setWhatsThis(tr("<img src=\":/images/icon.png\">"

"&nbsp;The meaning of the Source field depends "

"on the Type field:"

"<ul>"

"<li><b>Books</b> have a Publisher"

"<li><b>Articles</b> have a Journal name with "

"volume and issue number"

"<li><b>Theses</b> have an Institution name "

"and a Department name"

"</ul>"));

Мы можем применять теги HTML для форматирования текста справки «что это такое?». В нашем примере мы используем изображение (которое указано в файле ресурсов приложения), маркированный список и жирный текст в некоторых местах. Теги и атрибуты, которые поддерживаются в Qt, приведены на веб-странице http://doc.trolltech.com/4.1/richtext-html-subset.html.

Рис. 16.2. Диалоговое окно с отображением текста справки «что это такое?»

Кроме того, мы можем задавать текст справки «что это такое?» для команды:

openAct->setWhatsThis(tr("<img src=open.png>&nbsp;"

"Click this option to open an existing file."));

При задании для команды текста справки «что это такое?» он будет отображаться, когда пользователь в режиме справки «что это такое?» выбирает пункт меню, нажимает кнопку на панели инструментов или клавишу быстрого вызова команды. Когда компоненты пользовательского интерфейса главного окна приложения предусматривают вывод справки «что это такое?», обычно в меню Help (справка) содержится пункт What's This? (что это такое?) и панель инструментов содержит соответствующую кнопку. Это можно сделать путем создания команды What's This? при помощи статической функции QWhatsThis::createAction() и добавления возвращаемой ею команды в меню Help и в панель инструментов. Класс QWhatsThis предоставляет также статические функции для программного входа и выхода из режима справки «что это такое?».


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

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

Книги похожие на "QT 4: программирование GUI на С++" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Жасмин Бланшет

Жасмин Бланшет - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

Отзывы читателей о книге "QT 4: программирование GUI на С++", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.