Qt/C++. Installation of the Object Detector Program.
Программа Object Detector может выполнять множество различных действий (Activity).
Например, озвучивать (проговаривать) имена распознанных объектов,
записывать на диск звуки, поступающие с микрофона, сохранять изображения объектов в базе данных и так далее, всего таких Activity 10.
Взгляните на рисунок, показывающий все возможности программы.
Однако всегда ли необходимо включать в состав проекта все Activity? И насколько удобно переносить программу с таким перечнем модулей с одной версии Qt на другую?
Как ответ на эти вопросы в текущую версию (1.4) прграммы добавлена возможность отключать/включать следующие Activity: MQTT, Bluetooth, Speech.
Что необходимо сделать, чтобы отключить/включить указанные Activity? Немногое. Например, для MQTT достаточно в файле проекта
закоментировать/раскоментировать пару строк, вот так: #QT += mqtt и #DEFINES += MQTT_USE.
Аналогичные действия можно выполнять и для других модулей Qt и Activity.
На чем основана возможность декомпозиции программы? Дело в том, что в Qt есть технология определения макросов директивой DEFINES.
Например, так: DEFINES += BLUETOOTH_USE. Затем этот макрос можно использования в файлах: pro, headers, sources для работы с фрагментами текстов, относящихся к Bluetooth.
Более подробно об этом рассказано здесь.
Это шестнадцатая статья из цикла "Real-Time Object Recognition".
Первые пятнадцать опубликованы здесь:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14 и
15
При разработке программ использовались:
1. Программа "Object Detector" выполняет следующие функции:
2. Определение и использование макросов.
Вот так в файле проекта выглядит подключение модуля Qt и определение макроса, обеспечивающего работу с Bluetooth:
QT += bluetooth,
DEFINES += BLUETOOTH_USE.
А вот так в состав проекта включаются формы (файлы ui) для работы с Bluetooth:
contains(DEFINES, BLUETOOTH_USE) {
FORMS += device.ui progress.ui service.ui },
и файлы, содержащие исходные тексты классов Bluetooth:
contains(DEFINES, BLUETOOTH_USE){
SOURCES += device.cpp progress.cpp service.cpp }
Более подробно об использовании модулей и макросов Qt можно посмотреть в файле проекта Object Detector. Кроме файла проекта макросы используются в файлах заголовков и исходников (headers, sources).
Ниже показан перечень Activity, поддерживаемых программой.
Полное описание исходных текстов проектов "Objects Detection version 1.4", "iOS MQTT Client", "macOS MQTT Client", "Client TCP", "SslWebSocketServer", "SslWebSocketClient" предоставляются платно в файлах pdf или odt при запросе
через e-mail: veresov@jdesign.ru.
|