Documentation states:
"There are two ways in which such sequences can be exposed to QML: as a
Q_PROPERTY <http://doc.qt.io/qt-5/qobject.html#Q_PROPERTY> of the given
sequence type; or as the return type of a Q_INVOKABLE
<http://doc.qt.io/qt-5/qobject.html#Q_INVOKABLE> method." Nothing is being
said about global context injection. For more information on data type
conversion between C++ and QML please refer to
http://doc.qt.io/qt-5/qtqml-cppintegration-data.html#sequence-type-to-javascript-array

On Tue, Jan 5, 2016 at 10:00 PM Willem Ferguson <
willemfergu...@zoology.up.ac.za> wrote:

>
>
> Here are QML and C++ snippets. The root context provides a context to the
> top-level QML rectangle. But the QStringList is required by the grandchild
> of the top-level rectangle. I suspect the context for exposing the
> QStringList is inappropriate. What is the correct approach here?
>
> C++:
>
> int main(int argc, char ** argv)
> {
>     QGuiApplication <http://doc.qt.io/qt-5/qguiapplication.html> app(argc, 
> argv);
>
>     QStringList <http://doc.qt.io/qt-5/qstringlist.html> dataList;
>     dataList.append("Apples");
>     dataList.append("Oranges");
>     dataList.append("Bananas");
>     dataList.append("Grapes");
>
>     QQuickView <http://doc.qt.io/qt-5/qquickview.html> view;
>     QQmlContext <http://doc.qt.io/qt-5/qqmlcontext.html> *ctxt = 
> view.rootContext();
>     ctxt->setContextProperty("myModel", QVariant 
> <http://doc.qt.io/qt-5/qvariant.html>::fromValue(dataList));
>
>     view.setSource(QUrl <http://doc.qt.io/qt-5/qurl.html>("qrc:view.qml"));
>     view.show();
>
>     return app.exec();
> }
>
> QML:
>
> import QtQuick 2.0
> Rectangle { <http://doc.qt.io/qt-5/qml-qtquick-listview.html>
>     width: 400; height 400
>     Rectangle {
>         width: 200; height 200
>         ListView <http://doc.qt.io/qt-5/qml-qtquick-listview.html> {
>             width: 100; height: 100
>             model: myModel
>             delegate: Rectangle {
>                 height: 25; width: 100
>                 Text <http://doc.qt.io/qt-5/qml-qtquick-text.html> { text: 
> modelData }
>             }
>         }
>
>    }
> }
>
> ctxt in the C++ code relates to the outer bounding rectangle, thus the
> context of myModel is inappropriate with respect to the ListView item. Am I
> correct? If so, how should one correct this? Any feedback will be highly
> appreciated. The QQmlContext documentation gives no indication about
> solutions for this.
> Kind regards,
> Willem
>
>
>
>
> _______________________________________________
> Interest mailing list
> Interest@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to