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

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

JAVASCRIPT-МОДЕЛИ. СПИСОК СТРОК

Column { spacing: 2 Repeater {

model: ["Enterprise", "Columbia", "Challenger", "Discovery", "Endeavour", "Atlantis"]

Rectangle {

width: parent.width height: 100 radius: 3

Label { text: modelData + ' (' + index + ')' } color: "green"

}

}

}

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

JAVASCRIPT-МОДЕЛИ. МАССИВЫ

Page {

property var dataModel: [

{color: "orange" },

{color: "skyblue", text: "second" }

]

ListView { anchors.fill: parent model: dataModel spacing: 10

delegate: Rectangle { width: parent.width height: 100

color: modelData.color Text {

anchors.centerIn: parent

text: modelData.text || "empty text"

}

}

}

}

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

JAVASCRIPT-МОДЕЛИ. ЦЕЛЫЕ ЧИСЛА

ListView { anchors.fill: parent model: 100

spacing: 10 delegate: Rectangle {

width: parent.width height: 100

color: "orange" Text {

anchors.centerIn: parent text: model.index

}

}

}

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

МОДЕЛЬ СПИСКА НА C++

1.Создать дочерний класс QAbstractListModel

2.Реализовать методы rowCount() и data()

3.Предоставить headerData()

4.Перегрузить метод roleNames(), если модель использует роли

5.Реализовать методы setData() и flags(), если модель редактируемая

6.Реализовать методы insertRows() и removeRows(), если структура модели редактируемая

»insertRows() вызывает beginInsertRows() в начале и endInsertRows() в конце

»removeRows() вызывает beginRemoveRows() в начале и endRemoveRows() в конце

7.Зарегистрировать класс модели как тип QML

doc.qt.io/qt-5/qabstractlistmodel.html