Auf dieser Seite

QQuickView Class

Die Klasse „QQuickView“ stellt ein Fenster zur Darstellung einer Benutzeroberfläche im „ Qt Quick “-Stil bereit. Mehr...

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

Öffentliche Typen

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

Eigenschaften

Öffentliche Funktionen

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

Öffentliche Slots

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

Signale

void statusChanged(QQuickView::Status status)

Neu implementierte geschützte Funktionen

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

Ausführliche Beschreibung

Dies ist eine Komfort-Unterklasse von „ QQuickWindow “, die automatisch eine QML-Szene lädt und anzeigt, wenn die URL der Hauptquelldatei angegeben wird. Alternativ können Sie Ihre eigenen Objekte mit „ QQmlComponent “ instanziieren und diese in einer manuell eingerichteten „ QQuickWindow “ platzieren.

Typische Verwendung:

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

Um Fehler im Zusammenhang mit dem Laden und Ausführen von QML mit QQuickView zu erfassen, können Sie eine Verbindung zum Signal „ statusChanged()“ herstellen und auf „ QQuickView::Error “ überwachen. Die Fehler sind über „ QQuickView::errors()“ verfügbar.

QQuickView verwaltet außerdem die Größenanpassung der Ansicht und des Root-Objekts. Standardmäßig ist der Wert von ` resizeMode ` ` SizeViewToRootObject`, wodurch die Komponente geladen und auf die Größe der Ansicht angepasst wird. Alternativ kann ` resizeMode ` auf ` SizeRootObjectToView ` gesetzt werden, wodurch die Ansicht an die Größe des Root-Objekts angepasst wird.

Siehe auch „Exposing Attributes of C++ Types to QML“ und „ QQuickWidget “.

Dokumentation zu Mitgliedstypen

enum QQuickView::ResizeMode

Diese Enumeration legt fest, wie die Ansicht in der Größe angepasst werden soll.

KonstanteWertBeschreibung
QQuickView::SizeViewToRootObject0Die Ansicht passt ihre Größe an das Stammelement im QML an.
QQuickView::SizeRootObjectToView1Die Ansicht passt die Größe des Stammelements automatisch an die Größe der Ansicht an.

enum QQuickView::Status

Gibt den Ladestatus des „ QQuickView “ an.

KonstanteWertBeschreibung
QQuickView::Null0Für diese „ QQuickView “ ist keine Quelle festgelegt.
QQuickView::Ready1Dieser „ QQuickView “ hat die QML-Komponente geladen und erstellt.
QQuickView::Loading2Diese „ QQuickView “ lädt gerade Netzwerkdaten.
QQuickView::Error3Es sind ein oder mehrere Fehler aufgetreten. Rufen Sie ` errors()` auf, um eine Liste der Fehler abzurufen.

Dokumentation zu den Eigenschaften

resizeMode : ResizeMode

Diese Eigenschaft legt fest, ob die Ansicht die Größe des Fensterinhalts anpassen soll

Ist diese Eigenschaft auf „ SizeViewToRootObject “ gesetzt (Standardeinstellung), passt die Ansicht ihre Größe an die Größe des Stammelements im QML an.

Ist diese Eigenschaft auf „ SizeRootObjectToView “ gesetzt, passt die Ansicht die Größe des Stammelements automatisch an die Größe der Ansicht an.

Zugriffsfunktionen:

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

Siehe auch ` initialSize()`.

source : QUrl

Diese Eigenschaft enthält die URL der Quelle der QML-Komponente.

Stellen Sie sicher, dass die angegebene URL vollständig und korrekt ist; verwenden Sie insbesondere QUrl::fromLocalFile() beim Laden einer Datei aus dem lokalen Dateisystem.

Beachten Sie, dass das Festlegen einer Quell-URL dazu führt, dass die QML-Komponente instanziiert wird, selbst wenn sich die URL gegenüber dem aktuellen Wert nicht ändert.

Zugriffsfunktionen:

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

[read-only] status : Status

Der aktuelle Wert der Komponente status.

Zugriffsfunktionen:

QQuickView::Status status() const

Benachrichtigungssignal:

void statusChanged(QQuickView::Status status)

Dokumentation der Member-Funktionen

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

Erstellt eine `QQuickView` mit dem angegebenen ` parent`. Der Standardwert von ` parent ` ist 0.

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

Erstellt eine QQuickView mit dem angegebenen QML- engine und dem parent.

Hinweis: In diesem Fall besitzt die QQuickView das angegebene engine -Objekt nicht; es liegt in der Verantwortung des Aufrufers, die Engine zu zerstören. Wenn die engine vor der Ansicht gelöscht wird, gibt status() den Wert „ QQuickView::Error “ zurück.

Siehe auch „ Status“ , „ status()“ und „ errors()“.

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

Erstellt eine `QQuickView` mit den angegebenen QML- source - und ` parent`-Elementen. Der Standardwert von ` parent ` lautet ` nullptr`.

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

Erstellt eine `QQuickView` mit dem durch ` uri ` und ` typeName ` angegebenen Element sowie dem übergeordneten Element ` parent`. Der Standardwert von ` parent ` ist ` nullptr`.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch loadFromModule.

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

Zerstört die „ QQuickView “.

QQmlEngine *QQuickView::engine() const

Gibt einen Zeiger auf den „ QQmlEngine “ zurück, der zur Instanziierung von QML-Komponenten verwendet wird.

QList<QQmlError> QQuickView::errors() const

Gibt die Liste der Fehler zurück, die beim letzten Kompilierungs- oder Erstellungsvorgang aufgetreten sind. Wenn der Status nicht „Fehler“ ist, wird eine leere Liste zurückgegeben.

QSize QQuickView::initialSize() const

Gibt die ursprüngliche Größe des Stammobjekts zurück.

Wenn „ resizeMode “ den Wert „QQuickItem::SizeRootObjectToView“ hat, wird das Stammobjekt auf die Größe der Ansicht angepasst. „initialSize“ enthält die Größe des Stammobjekts vor der Größenanpassung.

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

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

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

Implementiert: ` QQuickWindow::keyReleaseEvent(QKeyEvent *e)`.

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

Lädt die QML-Komponente, die durch uri und typeName identifiziert wird. Wenn die Komponente auf einer QML-Datei basiert, wird source entsprechend gesetzt. Bei Typen, die unter C++ definiert sind, ist source leer.

Falls vor dem Aufruf dieser Methode ein source gesetzt wurde, wird dieser gelöscht.

Wird diese Methode mehrmals mit demselben ` uri ` und ` typeName ` aufgerufen, führt dies dazu, dass die QML-Komponente neu instanziiert wird.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch „ setSource “, „ QQmlComponent::loadFromModule “ und „ QQmlApplicationEngine::loadFromModule “.

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

Implementiert: ` QQuickWindow::mouseMoveEvent(QMouseEvent *event)`.

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

Implementiert: ` QQuickWindow::mousePressEvent` (`QMouseEvent *event`).

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

Implementiert: ` QQuickWindow::mouseReleaseEvent(QMouseEvent *event)`.

QQmlContext *QQuickView::rootContext() const

Diese Funktion gibt die Wurzel der Kontexthierarchie zurück. Jede QML-Komponente wird in einem „ QQmlContext “ instanziiert. „ QQmlContext “ sind für die Übergabe von Daten an QML-Komponenten unerlässlich. In QML sind Kontexte hierarchisch angeordnet, und diese Hierarchie wird vom „ QQmlEngine “ verwaltet.

QQuickItem *QQuickView::rootObject() const

Gibt die Stamm item der Ansicht zurück.

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

Legt die Anfangseigenschaften initialProperties fest, mit denen die QML-Komponente nach dem Aufruf von QQuickView::setSource() initialisiert wird.

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

Hinweis: Mit dieser Funktion könnenSie nur Eigenschaften der obersten Ebene initialisieren.

Hinweis: Diese Funktion sollte immer vor „ setSource “ aufgerufen werden, da sie keine Wirkung mehr hat, sobald die Komponente den Status „ Ready “ angenommen hat.

Siehe auch ` QQmlComponent::createWithInitialProperties()`.

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

Legt die Quelle auf „ url “ fest, lädt die QML-Komponente und instanziiert sie.

Stellen Sie sicher, dass die angegebene URL vollständig und korrekt ist; verwenden Sie insbesondere QUrl::fromLocalFile() beim Laden einer Datei aus dem lokalen Dateisystem.

Wird diese Methode mehrmals mit derselben URL aufgerufen, wird die QML-Komponente erneut instanziiert.

Hinweis: Setter -Funktion für die Eigenschaft „ source “.

Siehe auch „ source()“.

QUrl QQuickView::source() const

Gibt die Quell-URL zurück, sofern diese festgelegt ist.

Hinweis: Getter -Funktion für die Eigenschaft „source“.

Siehe auch „ setSource()“.

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

Dieses Signal wird ausgegeben, wenn sich die aktuelle Eigenschaft „ status “ der Komponente ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft „ 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.