Windows 32 ビット (MinGW 4.7、823 MB) 用に Qt 5.0.1 をインストールしました。
次に、簡単な Quick 2 アプリケーションを作成しました。2 つの単純な qml ファイルがあります。
main.qml
import QtQuick 2.0
Rectangle {
width: 360
height: 360
Text {
text: qsTr("Hello World")
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
HarrixMainButton{
}
}
HarrixMainButton.qml
import QtQuick 2.0
Item {
width: 93
height: 93
Rectangle {
width: 50
height: 62
color: "red"
}
}
そして、プログラムはうまく機能しています。次に、qml ファイルをリソース res.qrc のプレフィックス qml に入れ、main.cpp を変更します。
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
#include <QUrl>
#include <QDebug>
#include <QQmlContext>
#include <QQuickItem>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
//viewer.setMainQmlFile(QStringLiteral("qml/HarrixAI/main.qml"));
viewer.setSource(QUrl("qrc:qml/qml/HarrixAI/main.qml"));
viewer.showExpanded();
return app.exec();
}
そして、プログラムは動作しません。2 番目のファイル HarrixMainButton.qml はロードされていません。メインの最初のファイル main.qml のみがロードされます。
qrc:qml/qml/HarrixAI/main.qml:16:5: HarrixMainButton はタイプではありません QtQuick2ApplicationViewer(0x28fe08) ( QRect(8,30 116x0) ) をレンダリングしようとすると、レンダリング可能なマスター ウィンドウ QtQuick2ApplicationViewer(0x28fe08) が見つかりません。
問題を解決するには?Qt 4.7 と Qt Quick 1.1 では、同じ方法が機能します。