❝
Qml不用依赖C++的实现,使用js的XMLHttpRequest对象实现读写文件的功能。
❞
先看下面的实现例子(读取Qt资源文件main.qml文件并显示到Text控件中):
// main.qml
import QtQuick 2.0
import "qrc:/file.js" as File
Rectangle {
id: root
width: 480
height: 320
Text {
anchors.fill: parent
Component.onCompleted: {
/* 读取Qt资源文件中的main.qml文件内容到Text控件 */
text = File.read("qrc:/main.qml")
/* 如需要读取某个路径文件则可以这样写:file:///C:/Users/My/Demo.qml */
/* 写内容到example.txt中 */
File.write("example.txt", "Hello qthub.com")
}
}
}
file.js文件内容:
// file.js
function read(file) {
var request = new XMLHttpRequest();
request.open("GET", file, false); // false为同步操作设置
request.send(null);
return request.responseText;
}
function write(file, text) {
var request = new XMLHttpRequest();
request.open("PUT", file, false); // false为同步操作设置
request.send(text);
return request.status;
}
从file.js文件中看到读写函数的实现js读取文件,关键的地方在于XMLHttpRequest对象。
XMLHttpRequest请求特定的url,可以用于获取任何类型的数据,而不仅仅是XML。它甚至支持HTTP以外的协议js读取文件,比如file://和FTP。另外,在浏览器中使用可能出于安全等原因的功能会受到限制。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: wxii2p22
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。