Введение Связь между QML-интерфейсом и логикой на C++ — основа практически любого нетривиального Qt Quick приложения. Механизм Q_PROPERTY позволяет объявить свойство C++-класса так, что оно становится доступным из…
Введение Стандартные виджеты Qt Widgets покрывают большинство типичных интерфейсных задач, но иногда нужен полностью кастомный визуальный элемент — индикатор, специфичный график, игровое поле. Создание собственного виджета через наследование…
Введение Qt Quick приложения часто должны работать на экранах самых разных размеров и соотношений сторон — от мобильных телефонов до настольных мониторов. QML предоставляет два взаимодополняющих механизма для…
Введение Поддержка тёмной и светлой темы стала ожидаемым стандартом для десктопных приложений — пользователи рассчитывают, что приложение либо следует системной теме ОС, либо позволяет переключаться вручную. В Qt…
Введение Для отображения динамических списков данных в QML (через ListView, GridView, Repeater) недостаточно простого JS-массива, когда данные приходят с сервера, регулярно обновляются или требуют эффективной работы с большими…
Введение Стандартное отображение ячеек в QTableView/QListView (через модель и стандартный делегат) подходит для простого текста, но когда нужна нестандартная визуализация — цветные индикаторы статуса, рейтинг звёздами, прогресс-бары прямо…
Введение Перетаскивание элементов мышью между разными частями интерфейса (или даже между разными приложениями) — привычный паттерн взаимодействия, который пользователи интуитивно ожидают для списков, файлов, элементов канбан-доски. Qt Widgets…
Введение Некоторые объекты — менеджер сетевых запросов, глобальные настройки приложения, текущий авторизованный пользователь — логически существуют в единственном экземпре и должны быть доступны из любого QML-файла без необходимости…
Введение Когда список содержит тысячи или десятки тысяч элементов, наивное создание визуального делегата для каждого элемента сразу привело бы к колоссальному расходу памяти и деградации производительности. ListView в…