Qt Quick Controlsを使い始める

コントロールを使用するQMLファイルの基本的な例を示します:

import QtQuick
import QtQuick.Controls

ApplicationWindow {
    title: "My Application"
    width: 640
    height: 480
    visible: true

    Button {
        text: "Push Me"
        anchors.centerIn: parent
    }
}

C++ からのコントロールの設定

C++ アプリケーションで QML ファイルを表示するには、QQuickView を使うのが一般的ですが、これでは C++ からしかウィンドウのプロパティを設定できません。

Qt Quick Controls では、ApplicationWindow をアプリケーションのルートアイテムとして宣言し、代わりにQQmlApplicationEngine を使って起動します。これにより、QMLからトップレベルのウィンドウプロパティを制御できるようになります。

以下にコントロールを利用したソースファイルの基本例を示します:

#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}

QMLからC++のデータを利用する

QML から利用する C++ クラスを登録する必要がある場合は、QQmlApplicationEngine を宣言する前にqmlRegisterType() を呼び出します。詳しくは「C++からQMLの型を定義する」を参照してください。

QML コンポーネントにデータを公開する必要がある場合は、現在の QML エンジンのコンテキストからデータを利用できるようにする必要があります。詳しくはQQmlContext を参照してください。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。