- Модули Qt
Модули Qt
В начале изучения классов новой библиотеки создаётся ощущение перенасыщения из-за большого объёма информации. Иерархия классов Qt имеет чёткую внутреннюю структуру, которую важно понять, чтобы уметь хорошо и интуитивно ориентироваться в этой библиотеке.
Библиотека Qt – это множество классов (более 500), которые охватывают большую часть функциональных возможностей операционных систем, предоставляя разработчику мощные механизмы, расширяющие и, вместе с тем, упрощающие разработку приложений. При этом не нарушается идеология операционной системы. Qt не является единым целым, она разбита на модули (табл. 1.1).
Библиотека | Обозначение в проектном файле | Назначение |
QtCore | core | Основополонающий модуль, состоящий из классов, не связанных с графическим интерфейсом |
QtGui | gui | Модуль для программирования графического интерфейса |
QtNetwork | network | Модуль для программирования сети |
QtOpenGL | opengl | Модуль для программирования графики OpenGL |
QtSql | sql | Модуль для программирования баз данных |
QtSvg | svg | Модуль для работы с SVG (Scalable Vector Graphics, масштабируемая векторная графика) |
QtXml | xml | Модуль поддержки XML, классы, относящиеся к SAX и DOM |
Qt3Support | qt3support | qt3support |
QtScript | script | Модуль поддержки языка сценариев |
Phonon | phonon | Модуль мультимедиа |
QtWebKit | webkit | Модуль для создания веб-приложений |
QtScriptTools | scripttools | Модуль дополнительных возможностей поддержки языка сценария. На настоящий момент предоставляет отладчик |
QtTest | test | Модуль, содержащий классы для тестирования кода |
табл. 1.1
Любая Qt-программа так или иначе должна использовать хотя бы один из модулей, в большинстве случаев это QtCore и QtGui, поэтому эти два модуля определены в программе создания make-файлов (см. главу 3) по умолчанию. Для использования других модулей в своих проектах необходимо перечислить их в проектном файле (см. главу 3). Например, чтобы добавить модули, нужно написать:
QT += opengl network sql
А чтобы исключить модуль из проекта:
Qt -= gui
Наиболее значимый из перечисленных в табл. 1.1 модулей – это QtCore, так как он является базовым для всех остальных модулей (рис. 1.2). Далее идут модули, которые непосредственно зависят от QtCore, это – QtNetwork, QtGui, QtSql и QtXml. И, наконец, модули, зависящие от только что упомянутых модулей – Qt3Support, QtOpenGL и QtSvg.
Для каждого модуля Qt предоставляет отдельный заголовочный файл, содержащий заголовочные файлы всех классов этого модуля. Название этого заголовочного файла соответствует названию самого модуля. Например, для включения QtGui модуля нужно добавить в программу строку:
#include <QtGui>
Рис. 1.2. Диаграмма некоторых модульных зависимостей