Обзор первой главы книги
В первой главе мы сразу начнем с реализации первого небольшого проекта, это поможет лучше почувствовать и оценить процесс разработки с C++ и Qt. В этом простом примере будут задействованы два класса QApplication и QLabel. С помощью, объектов этих классов мы отобразим окно приложения с надписью и запустим цикл обработки системных сообщений exec(). Для лучшего понимания Фреймворка Qt мы быстро разберем его модульную архитектуру.
Остановимся на самых важных модулях входящих в комплект поставки Qt: QtCore, QtGui, QtWidgets, QtQuick, QtQml, QtNetwork, QtSql, QtXml, QtMultimedia и других. Вершиной модульной иерархии является модуль QtCore, этот модуль позволяет реализовать приложения без графического интерфейса пользователя (GUI), так называемые консольные приложения. Любой из модулей Qt имеет свое особое назначение как, например, программирование пользовательского интерфейса, графики, сети, баз данных sql, расширяемого языка разметки xml и т.д. В главе книги мы разберем некоторые классы, входящие в эти модули. Эти классы предоставляют разработчику мощные механизмы, расширяющие его потенциал, и в то же время они ускоряют и делают проще процесс создания приложений. Познакомимся с классами QGuiApplication и QApplication, которые являются ядром для любых приложений разрабатываемых на С++ и Qt с графическим интерфейсом. Их объекты не должны создаваться в приложении более одного раза.
Библиотека Qt также предоставляет дополнительные модули. Например, модуль QtWebEngine для реализации приложений с Браузерным движком (глава 46), модуль для работы с датчиками QtSensors, предназначенный для работы сенсорами мобильных устройств iOS, Android и других (глава 64). Эти модули не являются обязательными и могут быть установлены по желанию разработчика. Все эти модули сведены в главе в виде отдельной таблицы.
Некоторые из модулей в свою очередь разбиты на подмодули. Например, модуль Qt 3D включает в свой состав целых семь модулей: Qt3DAnimation, Qt3DCore, Qt3DExtras, Qt3DInput, Qt3DLogic, Qt3DRender и Qt3DScene2D. Этому модулю так же посвящена отдельная глава книги 61.
Поделится с друзьями:
Вообще было бы неплохо представить иерархию классов в виде дерева (графа). Так было бы нагляднее представление “родитель-потомок”
Аркадий, представление в виде древа требует много места и большие классовые диаграммы на страницах книги просто не поместятся. Поэтому для представления классовых иерархий был выбран более компактный формат.
Мне очень нравится, что в этой книге уделяется целая глава для рассмотрения иерархии всех основных классов и некоторых дополнительных.
Единственная претензия не к содержанию самой главы, а к качеству бумаги, которая мнётся под собственным весом в вертикальном положении и склонна рваться куда лучше обычной.