Саммерфилд Марк
Шрифт:
Данная книга разделена на три части. В части 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 можно найти в сети Интернет по адресу [0] . Qt также имеет хорошо зарекомендовавшее и преуспевающее сообщество пользователей, которое использует список почтовой рассылки qt—interest; подробности вы найдете по адресу http://lists.trolltech.com/.
0
От составителя: поскольку библиотека Qt в 2008м была куплена Nokia, адреса теперь не "www.trolltech.com", а "qt.nokia.com". Всё остальное — такое же :).
Если вы обнаружили в книге ошибки, имеете предложения для следующего издания или хотите высказать свое мнение, мы будем рады все это услышать от вас. Вы можете связаться с нами по электронной почте по адресу qt-book@trolltech.com. Ошибки будут размещены в сети Интернет на странице http://doc.trolltech.com/qt-book-errata.html.
Благодарности
Прежде всего, мы хотим выразить свою благодарность Айрику Чеймб-Ингу (Eirik Chambe-Eng), президенту компании «Trolltech». Айрик не только с энтузиазмом вдохновлял нас на написание версии этой книги для Qt 3, он также позволил нам потратить много нашего рабочего времени на ее написание. Айрик и исполнительный директор компании «Trolltech» Хаавард Норд (Haavard Nord) прочитали рукопись и сделали ценные замечания. Их щедрость и предвидение дополнялись и поощрялись Маттиасом Эттричем (Matthias Ettrich), ведущим разработчиком программного обеспечения в компании «Trolltech» и нашим шефом. Маттиас снисходительно относился к игнорированию нами наших обязанностей, когда мы были полностью вовлечены в процесс написания первого издания этой книги, и дал нам множество советов по формированию хорошего стиля Qt—программирования.
Для первого издания мы попросили двух наших заказчиков, Пола Куртиса (Paul Curtis) и Клауса Шмидингера (Klaus Schmidinger), стать нашими внешними рецензентами. Оба являются экспертами по Qt—программированию и обращают особое внимание на технические детали, что позволило им найти некоторые очень тонкие ошибки в нашей рукописи и предложить нам много улучшений. В компании «Trolltech» кроме Маттиаса нашим самым решительным рецензентом был Реджинальд Стадлбауер (Reginald Stadlbauer). Его глубокое понимание технических деталей было бесценно, и он научил нас некоторым вещам, которые казались нам невозможными в Qt.