如何在QML中读取FILE内容?

时间:2011-10-14 21:56:26

标签: qt qml qt-quick

我只需要类似于Fstream的东西来读取QML中的文件IO。为什么没有文件IO?

6 个答案:

答案 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))