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
- resizeMode : ResizeMode
- source : QUrl
- status : Status
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.
| Constante | Valor | Descripción |
|---|---|---|
QQuickView::SizeViewToRootObject | 0 | La vista cambia de tamaño con el elemento raíz en el QML. |
QQuickView::SizeRootObjectToView | 1 | La vista redimensionará automáticamente el elemento raíz al tamaño de la vista. |
enum QQuickView::Status
Especifica el estado de carga de QQuickView.
| Constante | Valor | Descripción |
|---|---|---|
QQuickView::Null | 0 | Este QQuickView no tiene ninguna fuente configurada. |
QQuickView::Ready | 1 | Este QQuickView ha cargado y creado el componente QML. |
QQuickView::Loading | 2 | Este QQuickView está cargando datos de red. |
QQuickView::Error | 3 | Se 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:
[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.