Жасмин Бланшет - QT 4: программирование GUI на С++ Страница 3
- Категория: Компьютеры и Интернет / Программирование
- Автор: Жасмин Бланшет
- Год выпуска: -
- ISBN: -
- Издательство: -
- Страниц: 123
- Добавлено: 2019-05-29 11:13:56
Жасмин Бланшет - 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 на С++ читать онлайн бесплатно
20 мая 1995 года Qt 0.90 был установлен на сайте sunsite.unc.edu. Спустя шесть дней о выпуске этой версии было объявлено на comp.os.linux.announce. Это была первая публичная версия Qt. Qt можно было использовать в разработках как Windows, так и Unix, причем программный интерфейс был одинаковый на обеих платформах. С первого дня предусматривались две лицензии применения Qt: коммерческая лицензия предназначалась для коммерческих разработок, и свободно распространяемая версия предназначалась для разработок с открытым исходным кодом. Контракт с «Metis» сохранил компанию «Trolltech» на плаву, хотя в течение долгих десяти месяцев не было продано ни одной коммерческой лицензии Qt.
В марте 1996 года Европейское управление космических исследований (European Space Agency) стало вторым заказчиком Qt, которое приобрело десять коммерческих лицензий. Верящие в удачу Айрик и Хаарвард приняли на работу еще одного разработчика. Qt 0.97 был выпущен в конце мая, и 24 сентября 1996 года вышла версия Qt 1.0. К концу этого года вышла версия Qt 1.1; восемь заказчиков — все из разных стран — приобрели в общей сложности 18 лицензий. В этом году был также основан Маттиасом Эттричем проект KDE.
Версия Qt 1.2 была выпущена в апреле 1997 года. Принятое Маттиасом Эттричем решение по применению Qt для построения KDE помогло Qt стать фактическим стандартом по разработке на С++ графического пользовательского интерфейса в системе Linux. Qt 1.3 была выпущена в сентябре 1997 года.
Маттиас присоединился к «Trolltech» в 1998 году, и последняя значимая версия Qt первого выпуска, 1.40, появилась в сентябре того же года. Qt 2.0 была выпущена в июне 1999 года. Qt 2 имела новую лицензию для открытого исходного кода — Q Public License (QPL), которая соответствовала Определению открытого исходного кода (Open Source Definition). В августе 1999 года Qt выиграла премию журнала «Linux World» за лучшую библиотеку или инструментальное средство. Примерно в это же время была образована компания «Trolltech Pty Ltd» (Австралия).
Компания «Trolltech» выпустила Qtopia Core (получившую затем название Qt/Embedded) в 2000 году. Она спроектирована для работы на устройствах с системой Embedded Linux и обеспечивает свою собственную оконную систему в качестве упрощенной замены X11. Как Qt/X11, так и Qtopia Соrе предлагаются теперь по широко распространенной общедоступной лицензии GNU — General Public License (GPL), a также на условиях коммерческих лицензий. К концу 2000 «Trolltech» учредила компанию «Trolltech Inc.» (США) и выпустила первую версию Qtopia — платформу для разработки приложений для мобильных телефонов и карманных компьютеров. Qtopia Соrе был удостоен премии журнала «Linux World» в категории «Лучшее решение для системы Embedded Linux» в 2001 и 2002 годах, a Qtopia Phone получила ту же премию в 2004 году.
Qt 3.0 была выпущена в 2001 году. Qt теперь работала в системах Windows, Mac OS X, Unix и Linux (для настольных и встроенных систем). Qt 3 содержала 42 новых класса, и объем ее программного кода превышал 500 000 строк. Qt 3 представляла собой важный шаг вперед по сравнению с Qt 2, которая, в частности, значительно улучшила поддержку локализации и кодировки Unicode, ввела совершенно новые виджеты по просмотру и редактированию текста и класс регулярных выражений, аналогичных применяемым языкам Perl. Qt 3 была удостоена премии «Software Development Times» в категории «Высокая продуктивность» в 2002 году.
Летом 2005 года была выпушена Qt 4.0. Имея около 500 классов и более 9000 функций, Qt 4 оказалась больше и богаче любой предыдущей версии; она была разбита на несколько библиотек, чтобы разработчики могли использовать только нужные им части Qt. Версия Qt 4 представляет собой большой шаг вперед по сравнению с предыдущими версиями; она содержит полностью новый набор эффективных и простых в применении классов—контейнеров, усовершенствованную функциональность архитектуры модель/представление, быстрый и гибкий фреймворк графики 2D и мощные классы для просмотра и редактирования текста в кодировке Unicode, не говоря уже о тысячах небольших улучшений по всему спектру классов Qt. Qt 4 является первой версией Qt, доступной на всех поддерживаемых платформах как для коммерческой разработки, так и для разработки с открытым исходным кодом.
Кроме того, в 2005 году компания «Trolltech» открыла свое представительство в Пекине для предоставления пользователям в Китае и во всем этом регионе услуг по продаже, обучению и технической поддержке компонента Qtopia.
Со дня образования компании «Trolltech» популярность Qt постоянно росла, и она продолжает расти в наши дни. Этот успех является отражением как качества Qt, так и того удовольствия, которое разработчик получает при ее использовании. За последнюю декаду Qt превратилась из «секретного» программного продукта, известного только избранной группе профессионалов, в продукт, которым пользуются по всему миру тысячи коммерческих заказчиков и десятки тысяч разработчиков приложений с открытым исходным кодом.
Часть I. Основные возможности средств разработки Qt
Глава 1. Первое знакомство
В данной главе показано на примере создания простого приложения с графическим интерфейсом пользователя (GUI — graphical user interface), как можно обычные средства С++ совместить с функциональными возможностями Qt. Здесь также рассматриваются две ключевые идеи Qt: сигналы и слоты (signals and slots) и компоновка графических элементов (layout). В главе 2 мы рассмотрим более подробно возможности Qt, а в главе 3 мы начнем разрабатывать более реалистичное приложение.
Если вы уже знакомы c Java или C#, но имеете лишь ограниченный опыт работы с С++, возможно, вы захотите начать с Приложения Б, в котором дается введение в С++.
«Здравствуй, Qt»
Давайте начнем с очень простой Qt—программы. Сначала мы разберем каждую строку этой программы, а затем покажем способы ее компиляции и выполнения.
01 #include <QApplication>
02 #include <QLabel>
03 int main(int argc, char *argv[])
04 {
05 QApplication app(argc, argv);
06 QLabel *label = new QLabel("Hello Qt!");
07 label->show();
08 return app.exec();
09 }
В строках 1 и 2 в программу включаются определения классов QApplication и QLabel. Для каждого Qt—класса имеется заголовочный файл с тем же именем (с учетом регистра), содержащий определение этого класса.
В строке 5 создается объект QApplication для управления всеми ресурсами приложения. Для конструктора QApplication необходимо указывать параметры argc и argv, поскольку Qt сама обрабатывает некоторые из аргументов командной строки.
В строке 7 создается «виджет» текстовая метка QLabel, который выводит на экран сообщение «Hello Qt!» (здравствуй, Qt). По терминологии Qt и Unix виджетом (widget) называется любой визуальный элемент графического интерфейса пользователя. Этот термин происходит от «window gadget» и соответствует элементу управления («control») и контейнеру («container») по терминологии Windows. Кнопки, меню, полосы прокрутки и фреймы являются примерами виджетов. Одни виджеты могут содержать в себе другие виджеты. Например, окно приложения обычно является виджетом, содержащим QMenuBar (панель меню), несколько QToolBar (панель инструментов), QStatusBar (строка состояния) и некоторые другие виджеты. Большинство приложений используют QMainWindow или QDialog в качестве окна приложения, однако Qt настолько гибка, что любой виджет может быть окном. В данном примере QLabel является окном приложения.
Строка 7 делает текстовую метку видимой. Виджеты всегда создаются сначала невидимыми, и поэтому до непосредственного вывода на экран вы можете настроить их и тем самым не допустить мерцания экрана.
Строка 8 обеспечивает передачу управления приложением Qt. В этом месте программа переходит в цикл обработки событий, т.е. в своего рода режим «простоя», ожидая со стороны пользователя таких действий, как щелчок мышки или нажатие клавиши на клавиатуре.
Для простоты мы не делаем вызов оператора delete для объекта QLabel в конце функции main(). Подобная утечка памяти в такой небольшой программе безвредна, поскольку после завершения программы эта память будет возвращена операционной системой.
Рис. 1.1. Вывод приветствия программы Hello в системе Linux
Теперь вы можете проверить работу этой программы на своей машине. Сначала необходимо установить Qt 4.1.1 (или более позднюю версию Qt 4); процесс установки рассмотрен в Приложении А. С этого момента мы будем предполагать, что вы корректно установили библиотеку Qt 4 и ее каталог bin занесен в переменную окружения PATH. (В системе Windows это делается автоматически программой установки Qt.) Вам также потребуется поместить файл hello.cpp с исходным кодом программы Hello в каталог hello. Вы можете набрать файл hello.cpp вручную или взять его с компакт-диска, который входит в состав книги; на компакт-диске этот исходный код находится в файле /examples/chap01/hello/hello.cpp.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.