QSignalSpy vs Mocks: Сравнение подходов к тестированию сигналов в Qt
Сравнение подходов ХарактеристикаQSignalSpyМоки (например, Google Mock)ЦельОтслеживание вызова сигналовПроверка вызова методов, поведения объектовСфера примененияQt-ориентированные проекты (QObject)Общий C++ (без привязки к Qt)Проверка сигналовДа (встроено)Нет напрямую, но можно проверить вызов слотовТип…
std::sort vs qSort: что выбрать для сортировки в C++/Qt?
При разработке на C++ с использованием фреймворка Qt, программист может столкнуться с выбором между использованием стандартного алгоритма std::sort и устаревшей функции qSort из Qt. В этой статье мы…
Проект Qt с CMake
Настройка окружения Перед началом убедитесь, что: Структура проекта Содержимое main.cpp: CMakeLists.txt для Qt6 (современный подход) CMakeLists.txt для Qt5 (если используете Qt5) Сборка проекта
Интеграция Boost в Qt-проект с использованием CMake
Архитектурная Ключевой принцип:никаких глобальных include_directories, только target-based linking. Структура проекта Пример использования Boost внутри Qt Будем использовать: FileService.h FileService.cpp MainWindow.h MainWindow.cpp main.cpp CMakeLists.txt (Qt6 + Boost) Что происходит…
Основы синтаксиса QML: объекты, свойства, сигналы и слоты
QML — это декларативный язык описания пользовательского интерфейса, построенный поверх объектной модели Qt. Несмотря на визуальную простоту, QML опирается на строгие принципы: объекты, свойства, сигналы и слоты. Понимание…
Архитектура Qt-приложений + CMake
Цели архитектуры Qt-проекта Хороший Qt-проект: CMake здесь — не просто билд-система, а средство описания архитектуры. Слоистая структура (Layered Architecture) Типовая схема: Каждый слой — отдельная библиотека. Модульность через…
Инструменты qmlscene, QML Profiler и консоль отладки
Введение: Зачем нужна комплексная отладка QML-приложений QML (Qt Modeling Language) представляет собой уникальный синтез декларативного и императивного программирования, что создает специфические вызовы для отладки. В отличие от традиционных…
Интеграция CUDA в Qt-приложение: архитектура и пример матричного умножения
Зачем подключать CUDA к Qt Типичные сценарии: Qt отвечает за: CUDA — за: Ключевой принцип архитектуры: UI не знает о CUDA напрямую.GPU-код изолирован в backend-библиотеке. Архитектура проекта Разделение…
Тест одного и того же кода (factorial) во всех популярных C++ фреймворках
Поддержанные фреймворки: Каждый файл содержит: Google Test Catch2 Doctest Boost.Test QTest