QML使用Listview读取txt文件生成列表实例代码
时间: 2023-12-30 08:04:36 浏览: 118
以下是一个使用QML中的ListView组件读取txt文件生成列表的示例代码:
```
import QtQuick 2.0
Item {
width: 300
height: 400
ListView {
id: listView
anchors.fill: parent
model: ListModel {
id: listModel
}
delegate: Text {
text: model.display
font.pixelSize: 20
width: parent.width
color: "black"
verticalAlignment: Text.AlignVCenter
}
Component.onCompleted: {
// 读取txt文件
var file = new XMLHttpRequest();
file.open("GET", "file:///path/to/file.txt");
file.onreadystatechange = function() {
if (file.readyState === XMLHttpRequest.DONE && file.status === 200) {
// 将txt文件内容按行分割成数组
var lines = file.responseText.split("\n");
// 遍历数组,将每一行内容添加到ListModel中
for (var i = 0; i < lines.length; i++) {
if (lines[i] !== "") {
listModel.append({display: lines[i]});
}
}
}
};
file.send();
}
}
}
```
此代码创建了一个包含一个ListView组件的Item。在ListView中,创建了一个ListModel作为数据模型,然后在Component.onCompleted信号中读取txt文件并将每行内容添加到ListModel中。最后,使用Text作为delegate来显示每个列表项。
需要将`file:///path/to/file.txt`替换为你实际的txt文件路径。
阅读全文