방금 QML을 작업하기 시작했습니다. C를 정말 좋아하기 때문에 유망 해 보입니다. 실험하면서 Ajax를 사용하여 PHP 서비스에서 ListModel을 업데이트해야하는 시점에 왔습니다 의뢰. 나는 this 링크를 언급했지만, 제대로 작동하지 않는 것 같습니다. 내 코드는 다음과 같습니다.QML ListModel을 업데이트 할 수 없습니다.
try.js :
function load() {
listModel.clear();
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://<url>/service_newsletter.php?method=news", true);
xhr.onreadystatechange = function() {
if(xhr.readyState == xhr.DONE){
if(xhr.status == 200) {
var jsonData = JSON.parse(xhr.responseText);
for(var index in jsonData.data.posts) {
listModel.append({
"text": jsonData.data.posts[index].text,
"description": jsonData.data.posts[index].description});
alert(jsonData.data.posts[index].text);
}
}
}
}
xhr.send();
}
QML 코드 :
import QtQuick 1.1
import "try.js" as JS
Item {
id:root
width: 360
height: 640
Component.onCompleted: JS.load()
ListModel {
id:listModel
}
ListView {
id:view
anchors.fill:parent
model : listModel
delegate: Rectangle {
width:parent.width
height:80
Text {
anchors.centerIn:parent
text: text
}
}
}
}
참고 : 안드로이드에 Qt는 응용 프로그램을 배포하는 Necessitas를 사용!
참고 2 : 내 서버의 JSON 데이터 형식은 위 링크 예와 비슷합니다.