Предисловие

Предисловие

Qt представляет собой комплексную рабочую среду, предназначенную для разработки на С++ межплатформенных приложений с графическим пользовательским интерфейсом по принципу «написал программу — компилируй ее в любом месте». Qt позволяет программистам использовать дерево классов с одним источником в приложениях, которые будут работать в системах от Windows 95 до XP, Mac OS X, Linux, Solaris, HP-UX и во многих других версиях Unix с X11. Библиотеки и утилиты Qt входят также в состав Qtopia Core — программного продукта, обеспечивающего собственную оконную систему для Embedded Linux.

Цель этой книги — обучение вас способам написания программ с графическим пользовательским интерфейсом при помощи средств разработки Qt 4. Книга начинается с примера «Здравствуй, Qt» и быстро переходит к таким более сложным темам, как создание пользовательских виджетов и обеспечение технологии «drag-and-drop». Текст дополняется компакт-диском, который содержит исходный код программ—примеров. Компакт-диск также содержит версию Qt 4.1.1 с открытым исходным кодом для всех поддерживаемых платформ, а также MinGW — набор свободно доступных средств разработки, которые могут использоваться для создания приложений Qt для Windows. В приложении А рассматривается порядок установки программного обеспечения.

Данная книга разделена на три части. В части I раскрыты все принципы и даются практические советы, необходимые для программирования приложений с графическим интерфейсом при помощи средств разработки Qt. Знания материала этой части вполне достаточно для создания работоспособных приложений с графическим интерфейсом. В части II более глубоко рассматриваются основные темы Qt, и в части III предоставляется более специализированный и передовой материал. Главы частей II и III можно читать в любой последовательности, но они предполагают знакомство с содержанием части I.

Читатели версии этой книги для Qt 3 обнаружат, что новое издание имеет знакомое содержание и знакомый стиль изложения. Данное издание использует новые возможности Qt 4 (причем некоторые из них были введены в версии Qt 4.1), и представленный здесь программный код демонстрирует принципы хорошего программирования с применением средств разработки Qt 4. Во многих случаях здесь используются примеры, аналогичные примерам в издании для Qt 3. Это никак не отразится на новых читателях, но поможет читателям предыдущего издания самостоятельно привыкнуть к более аккуратному, четкому и более выразительному стилю.

Это издание содержит новые главы, в которых описываются архитектура Qt 4 модель/представление, новый фреймворк для подключаемых модулей и основы программирования встроенных систем с помощью Qtopia, а также новое приложение. И так же как в книге для Qt 3, здесь основное внимание уделяется объяснению принципов Qt—программирования, а не просто изложению другими словами и обобщению обширной интерактивной документации Qt.

Предполагается, что вы знакомы с основами программирования на С++, Java или C#. Программный код примеров использует подмножество С++, избегая многие его возможности, которые редко требуются при Qt—программировании. В нескольких местах, где нельзя обойтись без специальных конструкций С++, дается подробное объяснение их применения.

Если у вас уже есть опыт программирования нa Java или C#, но мало или совсем нет опыта программирования на С++, мы рекомендуем начать с приложения к книге, содержащего введение в С++, вполне достаточного для того, чтобы можно было использовать эту книгу. В качестве более полного введения в объектно—ориентированное программирование на С++ мы рекомендуем книгу «С++ How to Program» (Как программировать на С++), написанную Харви и Полом Дейтелем (Harvey Deitel and Paul Deitel), и «С++ Primer» (Язык программирования С++. Вводный курс), написанную Стенли Б. Липпманом (Stanley В. Lippman), Жози Лажойе (Josie Lajoie) и Барбарой E. My (Barbara E. Moo).

Qt создала себе репутацию средства разработки межплатформенных приложений, но благодаря своему интуитивному и мощному программному интерфейсу во многих организациях Qt используется для одноплатформенных разработок. Пакет программ «Adobe Photoshop Album» — один из примеров продукта на массовом рынке Windows, написанного средствами Qt. Многие сложные системы программного обеспечения на таких вертикальных рынках, как средства анимации 3D, цифровая обработка фильмов, автоматизация проектирования электронных схем (для проектирования чипов), разведка нефтяных и газовых месторождений, финансовые услуги и формирование изображений в медицине, строятся при помощи Qt. Если свои средства к существованию вы получаете благодаря успешному программному продукту для Windows, который создан при помощи Qt, вы можете легко создать новые рынки для систем Mac OS X и Linux просто путем перекомпиляции программного продукта.

Qt может применяться с различными лицензиями. Если вы собираетесь создавать коммерческие приложения, вы должны приобрести коммерческую лицензию Qt; если вы собираетесь создавать программы с открытым исходным кодом, вы можете использовать версию с открытым исходным кодом (с лицензией GPL). Qt является основой, на которой построены К Desktop Environment (KDE) и многие другие приложения с открытым исходным кодом.

Кроме сотен классов Qt существуют дополнения, расширяющие рамки и возможности Qt. Некоторые из этих программных продуктов поставляются компанией «Trolltech» — например, модуль сценариев для приложений Qt (QSA — Qt Script for Applications) и компоненты Qt Solutions, в то время как другие подобные программные продукты поставляются другими компаниями и сообществом по разработке приложений с открытым исходным кодом. Информацию по дополнениям Qt можно найти в сети Интернет по адресу http://www.trolltech.com/products/3rdparty/ [0]. Qt также имеет хорошо зарекомендовавшее и преуспевающее сообщество пользователей, которое использует список почтовой рассылки qt—interest; подробности вы найдете по адресу http://lists.trolltech.com/.

Если вы обнаружили в книге ошибки, имеете предложения для следующего издания или хотите высказать свое мнение, мы будем рады все это услышать от вас. Вы можете связаться с нами по электронной почте по адресу qt-book@trolltech.com. Ошибки будут размещены в сети Интернет на странице http://doc.trolltech.com/qt-book-errata.html.