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

РАЗРАБОТКА НА 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