чтение из текстового файла в qml qt / quick

У меня есть программа для предварительного просмотра изображений, которые хранят путь каждого изображения (все изображения на моем компьютере) в текстовом файле. сначала я открываю текстовый файл и читаю пути к изображениям построчно и сохраняю их в список, затем я делаю исходное изображение в список [i], (для i = от 0 до количества изображений). он возвращает мне некоторую ошибку, подобную этой:

QML Image: Cannot open: qrc:///D:/QtApp/Gui_qml_app/res/1.png%0D
DirectShowPlayerService::doSetUrlSource: Unresolved error code 800c000d

это мой текстовый файл:

file:/D:/QtApp/Gui_qml_app/res/1.png
file:/D:/QtApp/Gui_qml_app/res/2.png
file:/C:/Users/info/Desktop/wall_images/3.png

и это мой код:

           property int i: -1
            var request = new XMLHttpRequest()
            request.open('GET','in.txt')
            request.onreadystatechange = function(event) {
                if (request.readyState == XMLHttpRequest.DONE) {

                 list = request.responseText.split('\n');
                }
            }
            request.send()
    item.source =String(list[i+1])
i++;

может каждый мне помочь?

1
задан 30 June 2014 в 16:13

2 ответа

DirectShow ошибка говорит нам о работе Windows и большую часть времени новые строки кодируются с \r\n на этой платформе.

Прежде, чем присвоить исходный путь объекта, удалите дополнительное \r:

list[i+1] = list[i+1].replace(/(\r\n|\n|\r)/gm,"");
item.source = String(list[i+1])
1
ответ дан 30 June 2014 в 16:13

спасибо за Ваш ответ. Я изменяю свой код в ниже, и это - работа, довольно хорошая

    property int i: -1
            var request = new XMLHttpRequest()
            request.open('GET','in.txt')
            request.onreadystatechange = function(event) {
                if (request.readyState == XMLHttpRequest.DONE) {

                 list = request.responseText.split('\n');
                }
            }
            request.send()
    item.source = String(list[i+1]).substring(0,String(list[i+1]).length-1)
i++;
1
ответ дан 30 June 2014 в 16:13

Другие вопросы по тегам:

Похожие вопросы: