QQuickView Class
Die Klasse QQuickView bietet ein Fenster für die Anzeige einer Qt Quick Benutzeroberfläche. Mehr...
Kopfzeile: | #include <QQuickView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake: | QT += quick |
Vererbt: | QQuickWindow |
Öffentliche Typen
enum | ResizeMode { SizeViewToRootObject, SizeRootObjectToView } |
enum | Status { Null, Ready, Loading, Error } |
Eigenschaften
- resizeMode : ResizeMode
- source : QUrl
- status : const Status
Ö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) |
Reimplementierte 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 |
Detaillierte Beschreibung
Dies ist eine bequeme 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 sie 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 erhalten, können Sie sich mit dem Signal statusChanged() verbinden und auf QQuickView::Error überwachen. Die Fehler sind über QQuickView::errors() verfügbar.
QQuickView verwaltet auch die Größe der Ansicht und des Stammobjekts. Standardmäßig ist resizeMode auf SizeViewToRootObject eingestellt, wodurch die Komponente geladen und die Größe an die Größe der Ansicht angepasst wird. Alternativ kann resizeMode auf SizeRootObjectToView gesetzt werden, wodurch die Größe der Ansicht an die Größe des Stammobjekts angepasst wird.
Siehe auch Attribute von C++ Typen in QML und QQuickWidget.
Member-Typ-Dokumentation
enum QQuickView::ResizeMode
Diese Aufzählung gibt an, wie die Größe der Ansicht geändert werden soll.
Konstante | Wert | Beschreibung |
---|---|---|
QQuickView::SizeViewToRootObject | 0 | Die Größe der Ansicht wird mit dem Stammelement in der QML angepasst. |
QQuickView::SizeRootObjectToView | 1 | Die Ansicht passt die Größe des Stammelements automatisch an die Größe der Ansicht an. |
enum QQuickView::Status
Gibt den Ladestatus der QQuickView an.
Konstante | Wert | Beschreibung |
---|---|---|
QQuickView::Null | 0 | Diese QQuickView hat keine Quelle gesetzt. |
QQuickView::Ready | 1 | Diese QQuickView hat die QML-Komponente geladen und erstellt. |
QQuickView::Loading | 2 | Diese QQuickView lädt gerade Netzwerkdaten. |
QQuickView::Error | 3 | Ein oder mehrere Fehler sind aufgetreten. Rufen Sie errors() auf, um eine Liste der Fehler zu erhalten. |
Dokumentation der Eigenschaft
resizeMode : ResizeMode
Diese Eigenschaft legt fest, ob die Ansicht die Größe des Fensterinhalts ändern soll
Wenn diese Eigenschaft auf SizeViewToRootObject (Standard) gesetzt ist, wird die Größe der Ansicht an die Größe des Stammelements in der QML angepasst.
Wenn diese Eigenschaft auf SizeRootObjectToView gesetzt ist, 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.
Vergewissern Sie sich, dass die angegebene URL vollständig und korrekt ist. Verwenden Sie insbesondere QUrl::fromLocalFile(), wenn Sie eine Datei aus dem lokalen Dateisystem laden.
Beachten Sie, dass das Setzen einer Quell-URL dazu führt, dass die QML-Komponente instanziiert wird, auch wenn die URL gegenüber dem aktuellen Wert unverändert ist.
Zugriffsfunktionen:
[read-only]
status : const Status
Der aktuelle Stand der Komponente status.
Zugriffsfunktionen:
QQuickView::Status | status() const |
Benachrichtigungssignal:
void | statusChanged(QQuickView::Status status) |
Mitgliederfunktion Dokumentation
[explicit]
QQuickView::QQuickView(QWindow *parent = nullptr)
Konstruiert eine QQuickView mit der angegebenen parent. Der Standardwert von parent ist 0.
QQuickView::QQuickView(QQmlEngine *engine, QWindow *parent)
Konstruiert eine QQuickView mit der angegebenen QML engine und 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 engine vor der Ansicht gelöscht wird, gibt status() QQuickView::Error zurück.
Siehe auch Status, status(), und errors().
[explicit]
QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)
Konstruiert eine QQuickView mit der angegebenen QML source und parent. Der Standardwert von parent ist nullptr
.
[explicit, since 6.7]
QQuickView::QQuickView(QAnyStringView uri, QAnyStringView typeName, QWindow *parent = nullptr)
Konstruiert eine QQuickView mit dem durch uri und typeName angegebenen Element und 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 die QQmlEngine zurück, die für die Instanzierung von QML-Komponenten verwendet wird.
QList<QQmlError> QQuickView::errors() const
Gibt die Liste der Fehler zurück, die während des letzten Kompilier- oder Erstellungsvorgangs aufgetreten sind. Wenn der Status nicht Error ist, wird eine leere Liste zurückgegeben.
QSize QQuickView::initialSize() const
Gibt die Anfangsgröße des Stammobjekts zurück.
Wenn resizeMode QQuickItem::SizeRootObjectToView ist, wird die Größe des Stammobjekts an die Größe der Ansicht angepasst. initialSize enthält die Größe des Stammobjekts vor der Größenänderung.
[override virtual protected]
void QQuickView::keyPressEvent(QKeyEvent *e)
Reimplements: QQuickWindow::keyPressEvent(QKeyEvent *e).
[override virtual protected]
void QQuickView::keyReleaseEvent(QKeyEvent *e)
Reimplements: QQuickWindow::keyReleaseEvent(QKeyEvent *e).
[slot, since 6.7]
void QQuickView::loadFromModule(QAnyStringView uri, QAnyStringView typeName)
Lädt die durch uri und typeName identifizierte QML-Komponente. Wenn die Komponente durch eine QML-Datei unterstützt wird, wird source entsprechend gesetzt. Bei Typen, die in C++
definiert sind, ist source
leer.
Falls source vor dem Aufruf dieser Methode gesetzt wurde, wird es gelöscht.
Ein mehrfacher Aufruf dieser Methode mit denselben uri und typeName führt 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)
Reimplements: QQuickWindow::mouseMoveEvent(QMouseEvent *event).
[override virtual protected]
void QQuickView::mousePressEvent(QMouseEvent *e)
Reimplements: QQuickWindow::mousePressEvent(QMouseEvent *event).
[override virtual protected]
void QQuickView::mouseReleaseEvent(QMouseEvent *e)
Reimplements: 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 ist für die Übergabe von Daten an QML-Komponenten unerlässlich. In QML sind die Kontexte hierarchisch angeordnet, und diese Hierarchie wird von QQmlEngine verwaltet.
QQuickItem *QQuickView::rootObject() const
Gibt die Wurzel der Ansicht item zurück.
[slot]
void QQuickView::setInitialProperties(const QVariantMap &initialProperties)
Legt die anfänglichen Eigenschaften 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: Sie können diese Funktion nur zur Initialisierung von Top-Level-Eigenschaften verwenden.
Hinweis: Diese Funktion sollte immer vor setSource aufgerufen werden, da sie keine Wirkung mehr hat, sobald die Komponente Ready
geworden ist.
Siehe auch QQmlComponent::createWithInitialProperties().
[slot]
void QQuickView::setSource(const QUrl &url)
Setzt die Quelle auf url, lädt die QML-Komponente und instanziiert sie.
Achten Sie darauf, dass die angegebene URL vollständig und korrekt ist. Verwenden Sie insbesondere QUrl::fromLocalFile(), wenn Sie eine Datei aus dem lokalen Dateisystem laden.
Ein mehrfacher Aufruf dieser Methode mit der gleichen URL führt dazu, dass die QML-Komponente neu instanziiert wird.
Hinweis: Setter-Funktion für die Eigenschaft source.
Siehe auch source().
QUrl QQuickView::source() const
Gibt die Quell-URL zurück, falls gesetzt.
Hinweis: Getter-Funktion für die Eigenschaft source.
Siehe auch setSource().
[signal]
void QQuickView::statusChanged(QQuickView::Status status)
Dieses Signal wird ausgesendet, wenn sich die aktuelle status der Komponente ändert.
Hinweis: Benachrichtigungssignal für die Eigenschaft status.
© 2025 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.