1

次のような非常に単純なQMLファイルがあるとします。

import QtQuick 2.0

Rectangle {
    width: 800
    height: 600
    color: '#000'

    Text {
        text: qsTr("Hi all")
        anchors.centerIn: parent
    }
}

QMLファイルには、次のようなQtQuick2ApplicationViewerヘルパークラスが読み込まれます。

QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/MyApp/Login/Window.qml"));
viewer.showFullScreen();

たとえば、長方形の色をC ++から白に変更したい場合は、どのように進めればよいですか。私の推測は:

QQuickItem *window = viewer.rootObject();
window->setProperty("color", "#fff");

しかし、それは次のコンパイラエラーだけです。

invalid use of incomplete type 'struct QQuickItem'
forward declaration of 'struct QQuickItem'
4

2 に答える 2

6

その後、QQuickItem は、含めたヘッダーのどこかで前方宣言されましたが、完全には修飾されていませんでした。詳細はこちら

于 2012-12-02T13:46:05.760 に答える
2
QObject *rootObject = (QObject *)viewer.rootObject();
rootObject->setProperty("color", "red");
于 2014-02-13T16:00:07.497 に答える