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

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

OBJECTMODEL: МЕТОДЫ

append() добавляет новый элемент в конец модели

get() возвращает элемент по индексу в модели

insert() вставляет новый элемент в модель по индексу позиции

move(int from, int to, int n = 1) перемещает n элементов из одной позиции в другую

»objectModel.move(0, objectModel.count - 3, 3)

remove() удаляет элементы по индексу из модели

clear() удаляет все элементы из модели

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

OBJECTMODEL: ПРИМЕР

import QtQml.Models 2.1

ObjectModel { id: itemModel

Rectangle {

height: 130; width: parent.width; color: "red"

}

Rectangle {

height: 130; width: parent.width; color: "green"

}

Rectangle {

height: 130; width: parent.width; color: "blue"

}

}

ListView { anchors.fill: parent model: itemModel

}

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

XMLLISTMODEL

XmlListModel

source – путь к XML-файлу с данными

query – запрос для создания элементов XmlRole модели

count – количество элементов в модели

XmlRole

name – имя роли (поля/свойства модели)

query – запрос для извлечения роли из модели

doc.qt.io/archives/qt-5.6/qml-qtquick-xmllistmodel-xmllistmodel.html

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

ПРИМЕР МОДЕЛИ XML

XmlListModel {

id: xmlListModel source: "books.xml" query: "/catalog/book" XmlRole {

name: "title";

query: "title/string()"

}

XmlRole {

name: "year";

query: "year/number()"

}

XmlRole {

name: "author";

query: "author/string()"

}

}

<!-- books.xml →

<?xml version="1.0" encoding="utf-8"?> <catalog>

<book>

<title>Qt 5 Cadaques</title> <year>2014</year>

<author>Juergen Bocklage-Ryannel</author> </book>

<book>

<title>C++ GUI Programming with Qt 4</title>

<year>2006</year>

<author>Jasmin Blanchette</author> </book>

<book>

<title>Programming with Qt</title> <year>2002</year>

<author>Matthias Kalle Dalheimer</author> </book>

</catalog>

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

ПРИМЕР МОДЕЛИ XML

import QtQuick.XmlListModel 2.0 Page {

XmlListModel {

id: xmlListModel source: "books.xml" query: "/catalog/book"

XmlRole { name: "title"; query: "title/string()" } XmlRole { name: "year"; query: "year/number()" } XmlRole { name: "author"; query: "author/string()" }

}

ListView { anchors.fill: parent model: xmlListModel delegate: Column {

Text { text: title + " (" + year + ")" } Text { text: author }

}

}

}