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

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

QML-ТИП COMPONENT

url : url — URL для создания компонента

progress : real — прогресс загрузки от 0.0 до 1.0

status : enumeration — статус загрузки

»Component.Null

»Component.Ready

»Component.Loading

»Component.Error

completed() — сигнал о создании экземпляра объекта

destruction() — сигнал о начале удаления объекта

createObject(Item parent, object properties) :

QtObject — создать экземпляр объекта

incubateObject(Item parent, object properties)

: QtObject — создать экземпляр объекта

doc.qt.io/qt-5/qml-qtqml-component.html

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

СОЗДАНИЕ КОМПОНЕНТА

Элемент Component с вложенным объектом

Component {

id: buttonComponent

Button { }

}

Внешний документ QML

var buttonComponent = Qt.createComponent("../assets/Button.qml"); if (buttonComponent.status === Component.Ready)

buttonComponentReady(); else

buttonComponent.statusChanged.connect(buttonComponentReady);

doc.qt.io/qt-5/qml-qtqml-qt.html#createComponent-method

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

ДИНАМИЧЕСКОЕ СОЗДАНИЕ ОБЪЕКТОВ

Из компонента

var button =

buttonComponent.createObject(root, { "x": 100, "y": 100 });

Из строки QML

var redRectangle =

Qt.createQmlObject('import QtQuick 2.0; Rectangle {color: "red"; width: 20; height: 20}', root);

С помощью фактори паттерна в C++

С помощью Loader

Из делегата представления

doc.qt.io/qt-5/qtqml-javascript-dynamicobjectcreation.html doc.qt.io/qt-5/qml-qtqml-qt.html#createQmlObject-method

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

LOADER — ДИНАМИЧЕСКАЯ ЗАГРУЗКА КОМПОНЕНТОВ

source : url — url документа QML для загрузки

sourceComponent : Component — компонент для загрузки

active : bool — активировано ли создание элементов

asynchronous : bool — загружать ли компоненты асинхронно

status : enumeration — статус загрузки

»Loader.Null — не активен, или не задан источник

»Loader.Ready — загружен источник

»Loader.Loading — источник загружается

»Loader.Error — возникла ошибка при загрузке

progress : real — прогресс загрузки от 0.0 до 1.0

item : object — созданный объект

doc.qt.io/qt-5/qml-qtquick-loader.html