QQuickView Class
QQuickViewクラスは、Qt Quickユーザーインターフェースを表示するためのウィンドウを提供します。詳細...
Header: | #include <QQuickView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake: | QT += quick |
Inherits: | 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() を呼び出してください。 |
プロパティ Documentation
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)
Reimplements: (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)
再リンプルメント: (QMouseEvent *event):QQuickWindow::mousePressEvent(QMouseEvent *event)。
[override virtual protected]
void QQuickView::mouseReleaseEvent(QMouseEvent *e)
再リプルメント: (QMouseEvent *event):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 プロパティ用のノーティファイア・シグナル。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。