Я хочу показать json ini на QML TextEdit, я пишу. js, чтобы его достичь. Я сравниваю две строки Json и выделяю разные, но подсветка дисплея неправильная, это мой код:
compare.js
function show_text(id,textStr1,textStr2)
{
var t1 = textStr1
var t2 = textStr2
var t3 = ""
var lmax = Math.max(t1.length,t2.length)
var lmin = Math.min(t1.length,t2.length)
for (var i = 0;i<lmax;i++)
{
if(t1.charAt(i) == t2.charAt(i))
{
var colorInfo_same =t1.charAt(i)
t3 = t3 + colorInfo_same
}
else
{
var colorInfo_diff ="<p style='color:red'>"+t2.charAt(i)+"</p>"
t3 = t3 + colorInfo_diff
}
}
oldJson.text = t3
}
textStr - это json строка типа
{
"bootup_resume_info": {
"class": "",
"maximum": "",
"minimum": "",
"type": "string",
"value": "1"
},
...
...
"1st_operator_call": {
"class": "",
"maximum": 1,
"minimum": 0,
"type": "int",
"value": 0
}
}
в qml:
TextEdit
{
id:oldJson
...
text:JsCompare.show_text(oldJson,initDataJson,initDataJson_com)
}
Я хочу изменить цвет jsonString на красный. Но результат позволил мне запутаться. Это выглядит так:
Кажется, что-то неправильно с отображением LineFeed и Spacing. Где проблема с моим кодом? Что мне делать?