更新时间:2023-10-12 09:44:40
是的,你可以纯粹使用 QML 中的 javascript API 来完成.以下代码适用于 Qt 5.3.1
Yes, you can do it purely using javascript API's in QML. Following code works on Qt 5.3.1
import QtQuick 2.0
import QtQuick.Controls 1.2
Item {
width: 300
height: 400
ListModel {
id: model
}
ListView {
id: listview
anchors.fill: parent
model: model
delegate: Text {
text: listdata
}
}
function getData() {
var xmlhttp = new XMLHttpRequest();
var url = "http://www.w3schools.com/website/Customers_MYSQL.php";
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE && xmlhttp.status == 200) {
myFunction(xmlhttp.responseText);
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
function myFunction(response) {
var arr = JSON.parse(response);
for(var i = 0; i < arr.length; i++) {
listview.model.append( {listdata: arr[i].Name +" "+ arr[i].City +" "+ arr[i].Country })
}
}
Button {
anchors.bottom: parent.bottom
width: parent.width
text: "Get Data"
onClicked: getData()
}
}