私はQMLが初めてです。これらのコードを機能させることができません。
モデル.qml
import QtQuick 1.1
XmlListModel {
source: "./test.xml"
query: "/tag1/tag2"
onSourceChanged: {
console.log("source changed:" + source)
reload()
}
XmlRole { name: "id"; query: "id/string()" }
XmlRole { name: "name"; query: "name/string()" }
}
View.qml
import QtQuick 1.1
ListView {
width: 200
}
TheDelegate.qml
import QtQuick 1.1
Rectangle {
width: parent.width
height: 20
Text {
text: id + ": " + name
}
}
メイン.qml
import QtQuick 1.1
Item {
id: container
Model {
id: resultModel
objectName: "resultModel"
}
View {
id: resultView
model: resultModel
delegate: TheDelegate {}
}
}
そして私のmain.cppで:
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QDeclarativeView view;
view.setResizeMode(QDeclarativeView::SizeRootObjectToView);
view.setSource(QUrl::fromLocalFile("./TheMain.qml"));
view.show();
int rtnVal = app.exec();
return rtnVal;
}
プロジェクトを実行すると、何も表示されず、ウィンドウが表示されません。
前もって感謝します。
編集:
qmlviewer(4.8.4) を使用して qmls をデバッグすると、次の警告が表示されます。
TheDelegate.qml:18: ReferenceError: 変数が見つかりません: name
しかし、 でname
定義する必要がありXmlRole
ます。