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 на С++».

Жанр: Программирование
Серии: -
Всего страниц: 195
ISBN: 978-5-91136-038-2
Год издания: 2007
Формат: Полный

QT 4: программирование GUI на С++ читать онлайн бесплатно

Шрифт
Интервал

Вступление

Почему Qt? Почему мы, программисты, выбираем Qt? Конечно, существуют очевидные ответы: совместимость классов Qt, базирующаяся на применении одного источника, богатство его возможностей, производительность С++, наличие исходного кода, его документация, качественная техническая поддержка и множество других причин, указанных в глянцевых маркетинговых материалах компании «Trolltech». Все это очень хорошо, но здесь не указано самое важное: Qt пользуется успехом, потому что она нравится программистам.

Почему программистам нравится одна технология и не нравится другая? Сам я считаю, что разработчики программного обеспечения отдают предпочтение такой технологии, которая «ощущается» как правильная, и не любят все то, что не дает такого ощущения. «Ощущать» технологию как правильную означает многое. В версии этой книги для Qt 3 я упоминал телефонную систему компании «Trolltech» в качестве очень подходящего примера особенно плохой технологии. Эта телефонная система не воспринимается как правильная система, потому что она вынуждает нас совершать случайные действия в столь же случайном контексте. Случайность не создает ощущения правильности. Повторяемость и избыточность тоже воспринимаются как неправильные. Хорошие программисты ленивы. Что нас особенно привлекает в компьютерах (например, в сравнении с садоводством), так это то, что нам не приходится повторять одно и то же раз за разом.

Позвольте мне проиллюстрировать это на практическом примере — на формах компенсации командировочных расходов. Обычно эти формы имеют вид причудливых электронных таблиц; вы их заполняете и получаете реальные деньги. На первый взгляд ничего сложного, и при наличии денежного стимула эта задача становится простой для дипломированного инженера.

Однако в реальной жизни все не так просто. Хотя никто другой в компании не испытывает никаких затруднений при работе с этими формами, у инженеров возникают проблемы. И поговорив с сотрудниками других компаний, убеждаешься в том, что это распространенное явление. Мы откладываем оформление компенсаций до самого последнего момента и иногда вообще можем забыть об этом. Почему так происходит? Заполнение форм на первый взгляд простая, стандартная процедура. Собираешь квитанции, нумеруешь и записываешь эти номера в соответствующие поля с указанием даты, места, описания и суммы. Нумерация квитанций и запись номеров в форму предназначены для облегчения кому-то работы, но, строго говоря, номера избыточны, поскольку дата, место, описание и сумма однозначно идентифицируют квитанцию. Можно подумать, что совсем немного дополнительной работы позволяет вернуть свои деньги.

Однако небольшое раздражение вызывают суточные, которые зависят от места вашей поездки. Имеется некий отдельный документ со списком стандартизованных сумм суточных для всех различных пунктов назначения командировок. Нельзя просто указать «Чикаго»; вместо этого приходится самому находить сумму суточных для Чикаго. Аналогичное раздражение вызывает поле обменного курса. Приходится искать текущий обменный курс где-нибудь в системе помощи Google и затем вводить его в каждое поле. Ну, строго говоря, следует подождать, пока компания, обслуживающая вашу кредитную карту, не пришлет вам счет с указанием фактического используемого ею обменного курса. Хотя сделать это нетрудно, просмотр различных источников и поиск в них нужных данных с последующим их переносом в различные места формы воспринимается как ничем не оправданное неудобство.

Программирование может очень сильно напоминать заполнение наших форм по компенсации командировочных расходов, только здесь все обстоит еще хуже. И здесь на помощь приходит Qt. Qt не такая. Во-первых, Qt логична. И, во-вторых, Qt вызывает интерес. Qt позволяет вам сконцентрироваться собственно на вашей задаче. Когда первоначальные создатели Qt сталкивались с проблемой, они не искали просто хорошее решение или самое простое решение. Они искали правильное решение и затем документировали его. Конечно, они делали ошибки, и, конечно, их некоторые проектные решения не прошли проверку временем, но все же многое сделано правильно, а неправильное может и должно быть исправлено. Вы можете убедиться в этом на том факте, что система, первоначально задуманная как мостик между Windows 95 и Unix/Motif, теперь объединяет такие непохожие современные настольные системы, как Windows XP, Mac OS X и GNU/Linux, и обеспечивает основу для Qtopia — платформы создания приложений для встроенных систем в Linux.

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

Maттиac Эттрич (Matthias Ettrich)


Рекомендуем почитать
Пуля для контролера

Сталкер, охотник на людей, ведьма… Зона свела их вместе и бросила навстречу тайне, способной пропеть колыбельную смерти целому отряду солдат. Их ждут чудовища, ловушки, опасные аномалии, настоящий ливень из пуль, а так же — испытание любовью и ненавистью, выбор между жизнью и смертью. Они обязаны победить, поскольку Зона отметила их, одарила необычными способностями. Правда, за них придется платить, но это отправившимся в погоню за очень могущественным контролером еще предстоит узнать.


Убить зону

У каждого — своя причина любить и ненавидеть Зону, отдающую ценные артефакты в обмен на человеческие жизни. Кто способен бросить вызов силам, создавшим это темное место? Разве что — странный, нелюдимый бродяга по прозвищу Бука. Плоть от плоти порождение Зоны, отлично приспособленный, словно подогнанный под жизнь во враждебной человеку среде, он мог бы стать лучшим из сталкеров, и хабар сам тек бы ему в руки, но…Все, что ему нужно — уничтожить ненавистную Зону. И теперь, наконец, у него есть возможность расправиться с ней.


Светлые души

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Суд

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.