Creating list of list of ints requires insert:
QVariantList qlines;
std::vector<cv::Vec4i> lines;
...
for( size_t i = 0; i < lines.size(); i++ )
{
    qlines.insert(qlines.size(), QVariantList{ lines[i][0], lines[i][1], 
lines[i][2], lines[i][3]}); // lines = [[839, 619, 1118, 845], 
[763,550,1199,904]]
}
//(QVariant(QVariantList, (QVariant(int, 839), QVariant(int, 619), 
QVariant(int, 1118), QVariant(int, 845))), ...)

So far so good.
I then call setProperty("lines", qlines), and read it back in QML:

onLinesChanged: console.log("LINES:", lines)
//qml: LINES: [839,619,1118,845,763,550,1199,904, ...]
Expected:
//qml: LINES: [[839, 619, 1118, 845], [763,550,1199,904]]

It seems that whatever conversion code is happening, is using QList::append or 
<< and not the insert line above? Or am I doing something wrong?
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to