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 : const 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 | つ以上のエラーが発生しました。エラーのリストを取得するには、errors() を呼び出してください。 |
プロパティのドキュメント
resizeMode : ResizeMode
このプロパティはビューがウィンドウの内容をリサイズするかどうかを保持する。
このプロパティがSizeViewToRootObject (デフォルト)に設定されている場合、ビューはQMLのルートアイテムのサイズにリサイズされます。
このプロパティがSizeRootObjectToView に設定されている場合、ビューは自動的にルートアイテムのサイズをビューのサイズに変更します。
アクセス関数:
QQuickView::ResizeMode | resizeMode() const |
void | setResizeMode(QQuickView::ResizeMode) |
initialSize()も参照 。
source : QUrl
このプロパティは QML コンポーネントのソースの URL を保持します。
特に、ローカルファイルシステムからファイルを読み込む場合にはQUrl::fromLocalFile() を使用してください。
ソースの URL を設定すると、URL が現在の値から変更されていなくても、QML コンポーネントがインスタンス化されることに注意してください。
アクセス関数
[read-only]
status : const 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)
与えられたQMLengine とparent を用いてQQuickViewを構築します。
注意:この場合、QQuickViewは与えられたengine オブジェクトを所有しません。エンジンを破棄するのは呼び出し側の責任です。もしengine がビューより先に削除された場合、status() はQQuickView::Error を返します。
Status 、status()、errors()も参照してください 。
[explicit]
QQuickView::QQuickView(const QUrl &source, QWindow *parent = nullptr)
与えられた QMLsource と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 コンポーネントをロードしてインスタンス化します。
特に、ローカルファイルシステムからファイルを読み込む場合はQUrl::fromLocalFile() を使用してください。
同じ URL でこのメソッドを複数回呼び出すと、QML コンポーネントは再インスタンス化されます。
注: source プロパティのセッター関数です。
source()も参照してください 。
QUrl QQuickView::source() const
設定されていれば、ソース URL を返す。
注: プロパティ・ソースのゲッター関数。
setSource()も参照してください 。
[signal]
void QQuickView::statusChanged(QQuickView::Status status)
このシグナルは、コンポーネントの現在のstatus が変更されたときに発行される。
注: プロパティ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.