このページでは

QQuickView Class

QQuickView クラスは、Qt Quick のユーザーインターフェースを表示するためのウィンドウを提供します。詳細...

ヘッダー: #include <QQuickView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
継承元: QQuickWindow

パブリック型

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

プロパティ

パブリック関数

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

パブリックスロット

(since 6.7) void loadFromModule(QAnyStringView uri, QAnyStringView typeName)
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 の利便性を高めるサブクラスであり、メインソースファイルの URL を指定すると、QML シーンを自動的に読み込んで表示します。あるいは、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();
}

QQuickView による QML の読み込みおよび実行に関連するエラーを受け取るには、statusChanged() シグナルに接続し、QQuickView::Error を監視します。エラーはQQuickView::errors() を通じて取得できます。

QQuickViewは、ビューとルートオブジェクトのサイズ調整も管理します。デフォルトでは、resizeMode はSizeViewToRootObject に設定されており、これによりコンポーネントが読み込まれ、ビューのサイズに合わせてリサイズされます。あるいは、resizeMode をSizeRootObjectToView に設定することで、ビューをルートオブジェクトのサイズに合わせてリサイズすることもできます。

「C++ 型の属性を QML から利用可能にする」および「QQuickWidget 」も参照してください 。

メンバ型のドキュメント

enum QQuickView::ResizeMode

この列挙型は、ビューのサイズ変更方法を指定します。

定数値説明
QQuickView::SizeViewToRootObject0ビューは、QML 内のルートアイテムに合わせてサイズ変更されます。
QQuickView::SizeRootObjectToView1ビューは、ルートアイテムのサイズをビューのサイズに合わせて自動的に変更します。

enum QQuickView::Status

QQuickView の読み込み状態を指定します。

定数値説明
QQuickView::Null0このQQuickView にはソースが設定されていません。
QQuickView::Ready1このQQuickView にはソースが設定されていません。この は、QMLコンポーネントをロードして作成しました。
QQuickView::Loading2このQQuickView は、ネットワークデータを読み込んでいます。
QQuickView::Error31 つ以上のエラーが発生しました。エラーの一覧を取得するには、errors() を呼び出してください。

プロパティのドキュメント

resizeMode : ResizeMode

このプロパティは、ビューがウィンドウの内容をリサイズすべきかどうかを指定します

このプロパティが `SizeViewToRootObject `(デフォルト)に設定されている場合、ビューは QML 内のルートアイテムのサイズに合わせてリサイズされます。

このプロパティが `SizeRootObjectToView` に設定されている場合、ビューはルートアイテムのサイズをビューのサイズに合わせて自動的に調整します。

アクセス関数:

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

initialSize()も参照してください 。

source : QUrl

このプロパティには、QMLコンポーネントのソースのURLが格納されます。

指定するURLが完全かつ正確であることを確認してください。特に、ローカルファイルシステムからファイルを読み込む場合は、QUrl::fromLocalFile() を使用してください。

ソース URL を設定すると、その URL が現在の値から変更されていない場合でも、QML コンポーネントがインスタンス化されることに注意してください。

アクセス関数:

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

[read-only] status : Status

コンポーネントの現在のstatus 。

アクセス関数:

QQuickView::Status status() const

通知シグナル:

void statusChanged(QQuickView::Status status)

メンバ関数のドキュメント

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

指定されたparent を使用してQQuickViewを構築します。parent のデフォルト値は0です。

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

指定されたQMLのengine およびparent を使用して、QQuickViewを構築します。

注:この場合、QQuickViewは指定されたengine オブジェクトを所有しません。エンジンの破棄は呼び出し側の責任となります。engine がビューより先に削除された場合、status()はQQuickView::Error を返します。

Status 、status()、およびerrors()も参照してください 。

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

指定されたQMLのsource およびparent を使用して、QQuickViewを生成します。parent のデフォルト値はnullptr です。

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

uri およびtypeName で指定された要素と、親要素parent を使用して QQuickView を生成します。parent のデフォルト値はnullptr です。

この関数は Qt 6.7 で導入されました。

loadFromModuleも参照してください 。

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

QQuickView を削除します。

QQmlEngine *QQuickView::engine() const

QMLコンポーネントのインスタンス化に使用されるQQmlEngine へのポインタを返します。

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) を再実装します。

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

uri およびtypeName で指定された QML コンポーネントを読み込みます。コンポーネントが QML ファイルに基づいている場合、source はそれに応じて設定されます。C++ で定義された型の場合、source は空になります。

このメソッドが呼び出される前にsource が設定されていた場合、その値はクリアされます。

同じuri およびtypeName を指定してこのメソッドを複数回呼び出すと、QML コンポーネントが再インスタンス化されます。

この関数は Qt 6.7 で導入されました。

setSource 、QQmlComponent::loadFromModule 、およびQQmlApplicationEngine::loadFromModuleも参照してください 。

[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

ビューのルートであるitem を返します。

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

QQuickView::setSource() を呼び出した後に、QML コンポーネントが初期化される際の初期プロパティinitialProperties を設定します。

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

注: この関数は、トップレベルのプロパティを初期化するためにのみ使用できます 。

注:この関数は 、コンポーネントが `Ready` 状態になると効果がなくなるため、常に `setSource` の前に呼び出す必要があります。

「QQmlComponent::createWithInitialProperties()」も参照してください 。

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

ソースをurl に設定し、QMLコンポーネントを読み込んでインスタンス化します。

指定するURLが完全かつ正確であることを確認してください。特に、ローカルファイルシステムからファイルをロードする際は、QUrl::fromLocalFile() を使用してください。

同じ URL でこのメソッドを複数回呼び出すと、QML コンポーネントが再インスタンス化されます。

注: プロパティ `source`のセッター 関数です。

source()も参照してください 。

QUrl QQuickView::source() const

設定されている場合、ソースURLを返します。

注: プロパティ `source`のゲッター 関数です。

関連項目: setSource()。

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

このシグナルは、コンポーネントの現在のstatus が変更されたときに発せられます。

注: プロパティ `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.