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 } |
プロパティ
- resizeMode : ResizeMode
- source : QUrl
- status : Status
パブリック関数
| 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::SizeViewToRootObject | 0 | ビューは、QML 内のルートアイテムに合わせてサイズ変更されます。 |
QQuickView::SizeRootObjectToView | 1 | ビューは、ルートアイテムのサイズをビューのサイズに合わせて自動的に変更します。 |
enum QQuickView::Status
QQuickView の読み込み状態を指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QQuickView::Null | 0 | このQQuickView にはソースが設定されていません。 |
QQuickView::Ready | 1 | このQQuickView にはソースが設定されていません。この は、QMLコンポーネントをロードして作成しました。 |
QQuickView::Loading | 2 | このQQuickView は、ネットワークデータを読み込んでいます。 |
QQuickView::Error | 3 | 1 つ以上のエラーが発生しました。エラーの一覧を取得するには、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 コンポーネントがインスタンス化されることに注意してください。
アクセス関数:
[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.