Популярные статьи

QML

Qt и QML: с чего начать? Первое приложение за 10 минут

Qt — это кроссплатформенный фреймворк для разработки приложений под Windows, Linux, macOS, Android и iOS. Исторически Qt ассоциировался с Widgets (QWidget), однако современный стек Qt ориентирован на QML…

обновлено
QML

Как подключить QML к C++: объявляем свой первый контекст и объект

В первом материале мы создали минимальное Qt Quick-приложение и разобрались, как QML загружается из C++. Следующий логичный шаг — связать QML с C++-логикой: передать объект в QML, вызвать…

обновлено
Cmake

Настройка CMake для проектов с CUDA

Как CMake работает с CUDA С версии 3.18 CMake имеет нативную поддержку CUDA: Минимальный CUDA-проект Compute Capability Или: Статическая CUDA-библиотека CUDA + Qt Qt UI + GPU backend:…

обновлено
QML

Руководство по тестированию QML-приложений: От unit-тестов до интеграционного тестирования UI

Введение: Почему тестирование QML требует особого подхода QML (Qt Modeling Language) представляет собой уникальный гибрид декларативного и императивного программирования, что создает особые вызовы для тестирования. В отличие от…

обновлено
Cmake

Cmake используем внешние библиотеки (на примере OpenSSL)

Часто требуется использовать сторонние библиотеки. CMake умеет их искать. Способ 1: find_package() (предпочтительный, если пакет поддерживает CMake) Многие библиотеки поставляются с CMake-файлами поиска. Предположим, нам нужен OpenSSL для хеширования. Упрощенный CMakeLists.txt:…

Cmake

Cmake полезные команды и переменные для начинающих

Часто используемые команды message() — аналог printf для отладки. set() — задать переменную list() — работать со списками if() / else() / endif() — условные операторы Полезные встроенные переменные CMAKE_BUILD_TYPE — тип сборки (Debug, Release,…

QML

QML Profiler: Анализ производительности QML-приложений

Введение QML позволяет быстро создавать декларативные, визуально насыщенные интерфейсы. Однако с ростом сложности сцены, количества биндингов, анимаций и JavaScript-логики могут появляться: Для диагностики этих проблем в составе Qt…

обновлено
Мультимедиа

Воспроизведение видео: QVideoWidget/QML VideoOutput, потоковое видео

Введение Аудио воспроизводится «невидимо» — для видео нужен дополнительный компонент, отображающий декодированные видеокадры на экране. В этой статье разберём QVideoWidget для классических Qt Widgets приложений и VideoOutput для…

Потоки и многопоточность

QSemaphore vs QMutex: разница и типичные сценарии использования

Введение QMutex и QSemaphore — два базовых примитива синхронизации в Qt, и начинающие разработчики иногда путают, когда применять каждый из них. Если упростить: мьютекс защищает критическую секцию от…