У меня есть программа для предварительного просмотра изображений, которые хранят путь каждого изображения (все изображения на моем компьютере) в текстовом файле. сначала я открываю текстовый файл и читаю пути к изображениям построчно и сохраняю их в список, затем я делаю исходное изображение в список [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++;
может каждый мне помочь?
DirectShow
ошибка говорит нам о работе Windows и большую часть времени новые строки кодируются с \r\n
на этой платформе.
Прежде, чем присвоить исходный путь объекта, удалите дополнительное \r
:
list[i+1] = list[i+1].replace(/(\r\n|\n|\r)/gm,"");
item.source = String(list[i+1])
спасибо за Ваш ответ. Я изменяю свой код в ниже, и это - работа, довольно хорошая
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++;