Spec-Zone.ru › Qt 6.0

Класс QQuickView

Класс QQuickView предоставляет окно для отображения пользовательского интерфейса Qt Quick. Подробнее...

Заголовок: #include <QQuickView>
CMake: find_package(Qt6 COMPONENTS Quick REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
С момента: Qt 5.0
Наследует: QQuickWindow
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление ResizeMode { SizeViewToRootObject, SizeRootObjectToView }
перечисление Статус { Null, Ready, Loading, Error }

Свойства

  • resizeMode : ResizeMode
  • источник : QUrl
  • статус : const Status

Публичные функции

QQuickView(const QUrl &source, QWindow *parent = nullptr)
QQuickView(QQmlEngine *engine, QWindow *parent)
QQuickView(QWindow *parent = nullptr)
virtual ~QQuickView() override
QQmlEngine * engine() const
QList<QQmlError> errors() const
QSize initialSize() const
QQuickView::ResizeMode resizeMode() const
QQmlContext * rootContext() const
QQuickItem * rootObject() const
void setResizeMode(QQuickView::ResizeMode)
QUrl source() const
QQuickView::Status status() const

Свойства слотов

void setInitialProperties(const QVariantMap &initialProperties)
void setSource(const QUrl &url)

Сигналы

void statusChanged(QQuickView::Status status)

Переопределенные защищенные функции

virtual void keyPressEvent(QKeyEvent *e) override
virtual void keyReleaseEvent(QKeyEvent *e) override
virtual void mouseMoveEvent(QMouseEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override

Подробное описание

Это удобный подкласс QQuickWindow, который автоматически загрузит и отобразит сцену QML, если ему будет передан URL-адрес основного исходного файла. В качестве альтернативы вы можете создать собственные объекты с помощью QQmlComponent и поместить их в вручную настроенное окно QQuickWindow.

Типичное использование:

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQuickView *view = new QQuickView;
    view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
    view->show();
    return app.exec();
}

Чтобы получать ошибки, связанные с загрузкой и выполнением QML с помощью QQuickView, подключитесь к сигналу statusChanged() и отслеживайте QQuickView::Error. Ошибки доступны через QQuickView::errors().

QQuickView также управляет размерами представления и корневого объекта. По умолчанию resizeMode равен SizeViewToRootObject, что загрузит компонент и перестроит его до размера представления. В качестве альтернативы, resizeMode можно установить на SizeRootObjectToView, что приведет к пересбору размера представления до размера корневого объекта.

См. также Exposing Attributes of C++ Types to QML и QQuickWidget.

Документация по типам членов

перечисление QQuickView::ResizeMode

Это перечисление указывает, как изменять размер представления.

Постоянная Значение Описание
QQuickView::SizeViewToRootObject 0 Представление изменяет размер вместе с корневым элементом в QML.
QQuickView::SizeRootObjectToView 1 Представление автоматически изменит размер корневого элемента до размера представления.

перечисление QQuickView::Статус

Определяет статус загрузки QQuickView.

Постоянная Значение Описание
QQuickView::Null 0 У этого QQuickView нет установленного источника.
QQuickView::Ready 1 Этот QQuickView загрузил и создал компонент QML.
QQuickView::Loading 2 Этот QQuickView загружает данные из сети.
QQuickView::Error 3 Произошла одна или несколько ошибок. Вызовите errors(), чтобы получить список ошибок.

Документация свойств

resizeMode : ResizeMode

Это свойство определяет, должен ли вид перестраивать содержимое окна.

Если это свойство установлено в SizeViewToRootObject (значение по умолчанию), вид перестраивается в соответствии с размером корневого элемента в QML.

Если это свойство установлено в SizeRootObjectToView, вид автоматически перестроит корневой элемент до размера вида.

Функции доступа:

QQuickView::ResizeMode resizeMode() const
void setResizeMode(QQuickView::ResizeMode)

См. также initialSize().

source : QUrl

Это свойство содержит URL-адрес источника компонента QML.

Убедитесь, что предоставленный URL-адрес полный и корректный, в частности, используйте QUrl::fromLocalFile(), при загрузке файла из локальной файловой системы.

Обратите внимание, что установка URL-адреса источника приведет к инициализации компонента QML, даже если URL-адрес не изменился по сравнению со значением текущего.

Функции доступа:

QUrl source() const
void setSource(const QUrl &url)

[read-only] status : const Status

Текущий статус компонента.

Функции доступа:

QQuickView::Status status() const

Сигнал уведомления:

void statusChanged(QQuickView::Status status)

Документация по функциям-членам

QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)

Создаёт QQuickView с заданным QML source и parent. Значение по умолчанию для parent равно 0.

QQuickView::QQuickView(QQmlEngine *engine, QWindow *parent)

Создаёт QQuickView с заданным QML engine и parent.

Примечание: в этом случае QQuickView не владеет объектом engine; ответственность за удаление объекта лежит на вызывающем коде. Если engine будет удалён до вида, status() вернёт QQuickView::Error.

См. также Status, status() и errors().

QQuickView::QQuickView(QWindow *parent = nullptr)

Создаёт QQuickView с заданным parent. Значение по умолчанию для parent равно 0.

[slot, since 5.14] void QQuickView::setInitialProperties(const QVariantMap &initialProperties)

Устанавливает начальные свойства initialProperties, с которыми компонент QML инициализируется после вызова QQuickView::setSource().

    QScopedPointer<QQuickView> view { new QQuickView };
    view->setInitialProperties({"x, 100"}, {"width", 50});
    view->setSource(QUrl::fromLocalFile("myqmlfile.qml"));
    view->show();

Примечание: Вы можете использовать эту функцию только для инициализации свойств верхнего уровня.

Примечание: Эта функция должна вызываться всегда перед setSource, так как она не оказывает никакого эффекта, после того как компонент стал Ready.

Функция была добавлена в Qt 5.14.

См. также QQmlComponent::createWithInitialProperties().

[slot] void QQuickView::setSource(const QUrl &url)

Устанавливает источник в url, загружает компонент QML и инициализирует его.

Убедитесь, что предоставленный URL-адрес полный и корректный, в частности, используйте QUrl::fromLocalFile(), при загрузке файла из локальной файловой системы.

Вызов этого метода несколько раз с тем же url приведет к повторной инициализации компонента QML.

Примечание: Функция-сеттер для свойства source.

См. также source().

[signal] void QQuickView::statusChanged(QQuickView::Status status)

Этот сигнал испускается, когда текущий статус компонента изменяется.

Примечание: Сигнал уведомления для свойства status.

[override virtual] QQuickView::~QQuickView()

Уничтожает QQuickView.

QQmlEngine *QQuickView::engine() const

Возвращает указатель на QQmlEngine, используемый для инициализации QML-компонентов.

QList<QQmlError> QQuickView::errors() const

Возвращает список ошибок, возникших во время последней операции компиляции или создания. Когда статус не Error, возвращается пустой список.

QSize QQuickView::initialSize() const

Возвращает начальный размер корневого объекта.

Если resizeMode равен QQuickItem::SizeRootObjectToView, корневой объект будет изменён на размер вида. initialSize содержит размер корневого объекта перед изменением размера.

[override virtual protected] void QQuickView::keyPressEvent(QKeyEvent *e)

Переопределяет: QQuickWindow::keyPressEvent(QKeyEvent *e).

[override virtual protected] void QQuickView::keyReleaseEvent(QKeyEvent *e)

Переопределяет: QQuickWindow::keyReleaseEvent(QKeyEvent *e).

[override virtual protected] void QQuickView::mouseMoveEvent(QMouseEvent *e)

Переопределяет: QQuickWindow::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QQuickView::mousePressEvent(QMouseEvent *e)

Переопределяет: QQuickWindow::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QQuickView::mouseReleaseEvent(QMouseEvent *e)

Переопределяет: QQuickWindow::mouseReleaseEvent(QMouseEvent *event).

QQmlContext *QQuickView::rootContext() const

Эта функция возвращает корень иерархии контекстов. Каждый QML-компонент инициализируется в QQmlContext. QQmlContext'ы необходимы для передачи данных QML-компонентам. В QML контексты организованы иерархически, и эта иерархия управляется QQmlEngine.

QQuickItem *QQuickView::rootObject() const

Возвращает корневой элемент вида.

QUrl QQuickView::source() const

Возвращает URL-адрес источника, если он установлен.

Примечание: Функция-геттер для свойства source.

См. также setSource().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qquickview.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API