我只需要类似于Fstream的东西来读取QML中的文件IO。为什么没有文件IO?
答案 0 :(得分:11)
如果您的文件是纯文本,则可以使用XMLHttpRequest。例如:
var xhr = new XMLHttpRequest;
xhr.open("GET", "mydir/myfile.txt");
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
var response = xhr.responseText;
// use file contents as required
}
};
xhr.send();
答案 1 :(得分:5)
我知道这是一个老问题,但你可能仍然对回答感兴趣。 这是:Reading a line from a .txt or .csv file in qml (Qt Quick)
简而言之,您在此处解释了如何在QML中阅读文件:http://www.developer.nokia.com/Community/Wiki/Reading_and_writing_files_in_QML
您只需要使用C ++扩展QML。
答案 2 :(得分:3)
QML没有内置文件I / O.但是 - 根据你的帖子的语气判断 - 你已经知道了。
如何在QML中读取文件内容?
您可以使用C ++扩展QML的功能。
Qt参考文档中的Getting Started Programming with QML教程向您展示了如何构建文本编辑器。这包括使用C ++的文件I / O.
为什么没有文件I / O?
因为QML基于JavaScript,而JavaScript也没有内置文件I / O.
QML被设计为构建用户界面的一种(简单)方法。你需要一个实际的程序来完成其余的工作。
答案 3 :(得分:2)
使用V-Play SDK FileUtils可以为QML提供内置文件I / O.它适用于台式机,iOS和Android的跨平台。更多信息和示例也在latest blog post。
中看起来像这样:
var documentsData = fileUtils.readFile("subfolder/file.json")
答案 4 :(得分:0)
你想读什么文件?...如果是简单的数据..那么你最好使用QML离线存储API。 Look for that section here
如果要在应用程序中部署数据库,请阅读this conversation。
如果您确实想要阅读该文件,请学习C ++并将您的代码公开给QML。那么,这超出了我的答案的范围。
答案 5 :(得分:0)
from selenium import webdriver
driver = webdriver.Chrome()
html_content = """
<html>
<head></head>
<body>
<div>
Hello World =)
</div>
</body>
</html>
"""
driver.get("data:text/html;charset=utf-8,{html_content}".format(html_content=html_content))