![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Собственная система сборки Qt
Базовые сведения о Qt 2.3.1 Введение Qt (произносится (кьют) как «cute» или неофициально Q-T (кью-ти)) — кроссплатформенный инструментарий разработки ПО на языке программирования C++. Отличается хорошей документацией, стабильностью, простотой освоения и написания кода. Разработчики: - Qt-project (http://qt-project.org/), - Digia – финский разработчик программного обеспечения (http://www.digia.com/). Qt выпускается под тремя лицензиями: GNU LGPL или GNU GPL и коммерческая В настоящее время Qt предоставляет использующему её программисту целостный фреймворк (framework), позволяющий при написании большей части приложения использовать только «родные» классы Qt и практически полностью отказаться от написания системно-зависимого кода, использования системных вызовов (будь то Win32 API или Unix system calls) или от изобретения собственных кросс-платформенных обёрток и «велосипедов». Классы Qt покрывают почти все потребности программиста. Qt позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. По своим возможностям и богатству библиотека Qt сравнима с.NET Framework или с системой классов Java 2 EE. · 2.3.2 Модули Qt Библиотека разделена на несколько модулей, вот некоторые из них (для пятой версии): QtCore – классы ядра библиотеки, используемые другими модулями; QtGui – компоненты графического интерфейса; QtWidgets – классы виджетов для создания граф. интерфейса пользователя. QtMultimedia – классы, поддерживающие функциональность аудио, видео, радио и камеры; QtNetwork – набор классов для сетевого программирования; QtOpenGL – набор классов для работы с OpenGL; QtSql – набор классов для работы с БД с использованием языка SQL. QtScript – классы для работы с Qt Scripts (специальным скриптовым языком Qt, похожем на JavaScript); QtXml – модуль для работы с XML, поддерживается SAX и DOM модели работы; QtWebKit – модуль с элементами веб-браузера; Qt Quick – модуль, предоставляющий декларативный фреймворк для создания динамичных, настраиваемых пользовательских интерфейсов. Этот список модулей далеко не полный.· Библиотека использует собственную систему сборки, именуемую QMake. QMake – это специальная утилита, использующая файлы проекта с расширением «.pro», в которых собрана информация о том, какие файлы будут скомпилированы, по каким путям искать заголовочные файлы и много другой информации. Пример.pro файла: 1. TEMPLATE = app # тип проекта - приложение 2. TARGET = flipbox # имя исполняемого файла 3. QT += core gui widgets # используемые модули 4. 5. # Пути поиска заголовочных файлов 6. INCLUDEPATH += "../../../include" 7. # Подключаемые библиотеки 8. LIBS += -L"../../../lib/Lib" 9. # Заголовочные файлы 10. HEADERS += \ 11. mainwindow.h \ 12.... 13. # Исходные файлы 14. SOURCES += \ 15. mainwindow.cpp \ 16.... 17. # Формы 18. FORMS += \ 19. mainwindow.ui \ 20.... 21. # Файлы ресурсов 22. RESOURCES += \ 23. resources.qrc \ 24. scripts.qrc · 2.3.4 Сигналы и слоты Отличительная особенность Qt от других библиотек – использование Meta Object Compiler (MOC) – предварительной системы обработки исходного кода (в общем-то, Qt – это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Сигналы и слоты используются для коммуникации между объектами. Механизм сигналов и слотов главная особенность Qt и вероятно та часть, которая отличаетcя от особенностей, предоставляемых другими фреймворками. В программировании графического интерфейса, когда мы меняем один виджет, мы часто хотим что бы другой виджет получил об этом уведомление. В общем случае, мы хотим что бы объекты любого типа могла общаться с другими. Например, если пользователь нажимает кнопку Закрыть, мы вероятно хотим что бы была вызвана функция окна close(). Сигнал вырабатывается когда происходит определенное событие. Слот это функция, которая вызывается в ответ на определенный сигнал. Виджеты Qt имеют много предопределенных сигналов и слотов, но мы всегда можем сделать дочерний класс и добавить наши сигналы и слоты в нем. Механизм сигналов и слотов типобезопасен. Сигнатура сигнала должна совпадать с сигнатурой слота-получателя.· Класс, который вырабатывает сигнал не знает и не заботится о том, какие слоты его получат. Механизм сигналов и слотов Qt гарантирует, что если мы подключим сигнал к слоту, слот будет вызван с параметрами сигнала в нужное время. Сигналы и слоты могут принимать любое число аргументов любого типа. Все классы, наследуемые от QObject или его дочерних классов (например, QWidget) могут содержать сигналы и слоты. Сигналы вырабатываются объектами когда они изменяют свое состояние так, что это может заинтересовать другие объекты. При этом он не знает и не заботится о том что у его сигнала может не быть получателя. Мы можем подключать к одному слоту столько сигналов, сколько захотим, также один сигнал может быть подключен к стольким слотам, сколько необходимо (рисунок 10). Рисунок 10 – Администратор источников данных ODBC. Диалог создания нового источника данных Сигналы и слоты вместе составляют мощный механизм создания компонентов.·
Дата добавления: 2015-05-09; Просмотров: 721; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |