LINUX.ORG.RU

конвертация JavaScript array -> QList, есть ли автоматическое преобразование?

 ,


0

1

У QWebEngineView есть QWebEnginePage.

У QWebEnginePage есть метод runJavaScript.

Как из этого скрипта вернуть массив «document.links» в Qt?

Если так и написать «document.links», то возвращается пустой QVariantMap. Если же эти линки предварительно сцеплю в одну строку, то эта строка нормально возвращается в виде строки. Как без заморочек вернуть array в Qt как список?

По интернету полно примеров но обратной конвертации, из QVariantList в JavaScript array. А мне нужно наоборот.



Последнее исправление: victor79 (всего исправлений: 1)

Точно не скажу, но там заморочка, по типу QML: при запуске корневой контекст связывать с объектом dial до загрузки текста программы QML (более чистый вариант). А, если совсем пустой возвращает (по вашему тексту), то нет там виндовс, случаем?

anonymous
()
Ответ на: комментарий от anonymous

ничего не понял из написанного. Виндовс здесь нет, под убунтой.

Проверил, возвращать не хочет именно document.links. А если выполнить код:

var res = [];\
for ( i=0; i < document.links.length; i++ )\
res.push(document.links[i].href);\
res;
то этот новый массив возвращает нормально.

victor79
() автор топика
Ответ на: комментарий от victor79

Сейчас разжую, первое по аббривеатуре это было название прикладной. А далее по тексту, момент запуска, по аналогии, с вызовом «dial.» А то, что там точно нет винды, очень хорошо, потому, что она даже в своей сороке ошибки вообще не показывает (никогда).

anonymous
()
Ответ на: комментарий от victor79

document.links — объект

document.links instanceof Array // false
[] instanceof Array // true

fluorite ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.