En esta página

QQuickView Class

La clase QQuickView proporciona una ventana para mostrar una interfaz de usuario Qt Quick. Más...

Cabecera: #include <QQuickView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
Hereda: QQuickWindow

Tipos públicos

enum ResizeMode { SizeViewToRootObject, SizeRootObjectToView }
enum Status { Null, Ready, Loading, Error }

Propiedades

Funciones públicas

QQuickView(QWindow *parent = nullptr)
QQuickView(QQmlEngine *engine, QWindow *parent)
QQuickView(const QUrl &source, QWindow *parent = nullptr)
(since 6.7) QQuickView(QAnyStringView uri, QAnyStringView typeName, 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

Ranuras públicas

(since 6.7) void loadFromModule(QAnyStringView uri, QAnyStringView typeName)
void setInitialProperties(const QVariantMap &initialProperties)
void setSource(const QUrl &url)

Señales

void statusChanged(QQuickView::Status status)

Funciones protegidas reimplementadas

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

Descripción Detallada

Esta es una práctica subclase de QQuickWindow que cargará y mostrará automáticamente una escena QML cuando se le proporcione la URL del archivo fuente principal. Alternativamente, puede instanciar sus propios objetos utilizando QQmlComponent y colocarlos en una configuración manual QQuickWindow.

Uso típico:

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();
}

Para recibir errores relacionados con la carga y ejecución de QML con QQuickView, puede conectarse a la señal statusChanged() y monitorizar QQuickView::Error. Los errores están disponibles a través de QQuickView::errors().

QQuickView también gestiona el tamaño de la vista y del objeto raíz. Por defecto, el resizeMode es SizeViewToRootObject, que cargará el componente y lo redimensionará al tamaño de la vista. Alternativamente, resizeMode puede establecerse a SizeRootObjectToView, que redimensionará la vista al tamaño del objeto raíz.

Véase también Exposición de atributos de tipos C++ a QML y QQuickWidget.

Documentación de tipos de miembro

enum QQuickView::ResizeMode

Este enum especifica cómo redimensionar la vista.

ConstanteValorDescripción
QQuickView::SizeViewToRootObject0La vista cambia de tamaño con el elemento raíz en el QML.
QQuickView::SizeRootObjectToView1La vista redimensionará automáticamente el elemento raíz al tamaño de la vista.

enum QQuickView::Status

Especifica el estado de carga de QQuickView.

ConstanteValorDescripción
QQuickView::Null0Este QQuickView no tiene ninguna fuente configurada.
QQuickView::Ready1Este QQuickView ha cargado y creado el componente QML.
QQuickView::Loading2Este QQuickView está cargando datos de red.
QQuickView::Error3Se han producido uno o más errores. Llame a errors() para recuperar una lista de errores.

Documentación de propiedades

resizeMode : ResizeMode

Esta propiedad indica si la vista debe redimensionar el contenido de la ventana.

Si esta propiedad está en SizeViewToRootObject (por defecto), la vista se redimensiona al tamaño del elemento raíz en el QML.

Si esta propiedad está establecida a SizeRootObjectToView, la vista redimensionará automáticamente el elemento raíz al tamaño de la vista.

Funciones de acceso:

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

Véase también initialSize().

source : QUrl

Esta propiedad contiene la URL de la fuente del componente QML.

Asegúrese de que la URL proporcionada está completa y es correcta, en particular, utilice QUrl::fromLocalFile() cuando cargue un archivo desde el sistema de archivos local.

Tenga en cuenta que al establecer una URL de origen se instanciará el componente QML, aunque la URL no cambie con respecto al valor actual.

Funciones de acceso:

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

[read-only] status : Status

El componente actual status.

Funciones de acceso:

QQuickView::Status status() const

Señal del notificador:

void statusChanged(QQuickView::Status status)

Documentación de la función miembro

[explicit] QQuickView::QQuickView(QWindow *parent = nullptr)

Construye un QQuickView con la dirección parent. El valor por defecto de parent es 0.

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

Construye un QQuickView con el QML engine y parent.

Nota: En este caso, el QQuickView no es dueño del objeto engine dado; es responsabilidad del que llama destruir el motor. Si el engine es eliminado antes que la vista, status() devolverá QQuickView::Error.

Ver también Status, status(), y errors().

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

Construye un QQuickView con el QML source y parent. El valor por defecto de parent es nullptr.

[explicit, since 6.7] QQuickView::QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr)

Construye un QQuickView con el elemento especificado por uri y typeName y el padre parent. El valor por defecto de parent es nullptr.

Esta función se introdujo en Qt 6.7.

Ver también loadFromModule.

[override virtual noexcept] QQuickView::~QQuickView()

Destruye el QQuickView.

QQmlEngine *QQuickView::engine() const

Devuelve un puntero a QQmlEngine utilizado para instanciar componentes QML.

QList<QQmlError> QQuickView::errors() const

Devuelve la lista de errores que se produjeron durante la última operación de compilación o creación. Cuando el estado no es Error, se devuelve una lista vacía.

QSize QQuickView::initialSize() const

Devuelve el tamaño inicial del objeto raíz.

Si resizeMode es QQuickItem::SizeRootObjectToView el objeto raíz será redimensionado al tamaño de la vista. initialSize contiene el tamaño del objeto raíz antes de ser redimensionado.

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

Reimplementa: QQuickWindow::keyPressEvent(QKeyEvent *e).

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

Reimplementa: QQuickWindow::keyReleaseEvent(QKeyEvent *e).

[slot, since 6.7] void QQuickView::loadFromModule(QAnyStringView uri, QAnyStringView typeName)

Carga el componente QML identificado por uri y typeName. Si el componente está respaldado por un archivo QML, source se configurará en consecuencia. Para los tipos definidos en C++, source estará vacío.

Si se ha definido source antes de llamar a este método, se borrará.

Si se llama a este método varias veces con los mismos uri y typeName, se reiniciará el componente QML.

Esta función se introdujo en Qt 6.7.

Véase también setSource, QQmlComponent::loadFromModule, y QQmlApplicationEngine::loadFromModule.

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

Reimplementa: QQuickWindow::mouseMoveEvent(QMouseEvent *event).

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

Reimplementa: QQuickWindow::mousePressEvent(QMouseEvent *event).

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

Reimplementa: QQuickWindow::mouseReleaseEvent(QMouseEvent *event).

QQmlContext *QQuickView::rootContext() const

Esta función devuelve la raíz de la jerarquía de contextos. Cada componente QML se instancia en un QQmlContext. Los QQmlContext's son esenciales para pasar datos a los componentes QML. En QML, los contextos se organizan jerárquicamente y esta jerarquía es gestionada por QQmlEngine.

QQuickItem *QQuickView::rootObject() const

Devuelve la raíz de la vista item.

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

Establece las propiedades iniciales initialProperties con las que se inicializa el componente QML tras llamar a QQuickView::setSource().

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

Nota: Sólo puede utilizar esta función para inicializar propiedades de nivel superior.

Nota: Esta función debe llamarse siempre antes de setSource, ya que no tiene ningún efecto una vez que el componente se ha convertido en Ready.

Véase también QQmlComponent::createWithInitialProperties().

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

Establece la fuente en url, carga el componente QML y lo instantiza.

Asegúrese de que la URL proporcionada está completa y es correcta, en particular, utilice QUrl::fromLocalFile() cuando cargue un archivo desde el sistema de archivos local.

Si se llama a este método varias veces con la misma URL, el componente QML se volverá a instanciar.

Nota: Función Setter para la propiedad source.

Véase también source().

QUrl QQuickView::source() const

Devuelve la URL de origen, si se ha establecido.

Nota: Función Getter para la propiedad source.

Véase también setSource().

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

Esta señal se emite cuando cambia la dirección status actual del componente.

Nota: Señal notificadora para la propiedad status.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.