Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дополнительные материалы.pdf
Скачиваний:
3
Добавлен:
07.06.2025
Размер:
12.29 Mб
Скачать

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

МОДЕЛИ И ПРЕДСТАВЛЕНИЯ

Активно используются для отображения и взаимодействия с однородным контентом

Можно реализовывать свои

Model-View-Controller

Model-View-Delegate

 

Пользователь

 

Пользователь

Отображение

 

 

Взаимодействие

Отображение

 

 

Взаимодействие

 

 

 

 

 

 

Управление

 

 

Рендеринг

Представление

 

 

Контроллер

Представление

 

 

Делегат

 

 

 

 

Уведомление

Управление

Уведомление

Изменения

 

Модель

 

Модель

doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

СТАНДАРТНЫЕ ПРЕДСТАВЛЕНИЯ

ListView — вертикальный или горизонтальный список

GridView — таблица

PathView — траектория

Общие свойства

model : model — модель с данными

delegate : Component — представление элемента модели

currentItem : Item — текущий элемент в представлении

currentIndex : int — индекс текущего элемента

count : int — количество элементов в модели

doc.qt.io/qt-5/qml-qtquick-listview.html doc.qt.io/qt-5/qml-qtquick-gridview.html doc.qt.io/qt-5/qml-qtquick-pathview.html

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

ТИПЫ МОДЕЛЕЙ

Поставляемые QML

»ListModel

»ObjectModel

»XmlListModel

JS-модели

»Целые числа

»Массивы

Модели C++

РАЗРАБОТКА НА QT ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ

LISTMODEL

Основные методы:

append(jsobject dict) – добавляет объект к модели

insert(int index, jsobject dict) – добавляет объект в указанное место move(int from, int to, int n) – перемещает несколько объектов

remove(int index, int count) – удаляет несколько объектов

get(int index) – возвращает объект по индексу

clear() – очищает всю модель

ListModel {

ListElement { text: "Orange"; color: "orange" } ListElement { text: "Avocado"; color: "green" } ListElement { text: "Apple"; color: "red" }

}

doc.qt.io/archives/qt-5.6/qml-qtqml-models-listmodel.html