2011-10-14 65 views

回答

3

QML沒有內置的文件I/O。但是 - 從你的帖子的語氣來看 - 你已經知道了。

如何讀取QML中的FILE內容?

您可以使用C++擴展QML的功能。

Qt參考文檔中的Getting Started Programming with QML教程將向您展示如何構建文本編輯器。這包括使用C++的文件I/O。

爲什麼沒有文件I/O?

由於QML基於JavaScript,並且JavaScript也沒有內置文件I/O。

QML被設計成構建用戶界面的一種(簡單)方法。你需要一個實際的程序來完成剩下的工作。

8

如果您的文件是純文本,您可以使用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

這也適用於其他純文本格式,例如。 json – OlliM

+0

這是一個不好的答案,應該包含示例代碼而不是(可能死/死)鏈接。 – khaverim

0

要讀取的文件做什麼......如果簡單的數據..然後你可能最好使用QML離線存儲API? Look for that section here

如果您想在應用程序中部署db,請閱讀this conversation

如果您確實想要閱讀該文件,請學習C++並將您的代碼暴露給QML。那麼,這超出了我的答案範圍。