QMetaMethod::invokeMethod(obj, "createTree");

On 10/7/18 12:34 PM, Jean-Michaël Celerier wrote:
Hello,
I have the following code :

Foo.qml :

    MyLib.MyObject {
      function createTree() { /* stuff */ }
      property string host: "ws://whatever.com <http://whatever.com>"
    }

cpp :

    namespace lib {
      class MyObject : public QObject { Q_OBJECT };
    }
    ...
    QQmlComponent c(engine);
    c.setData("content of Foo.qml", QUrl());

    auto obj = c.createObject();
    QString host = QQmlProperty(obj, "host").read();
    QMetaMethod::invokeMethod("createTree");

Reading the "host" property works fine so the QML object is correctly instantiated. But the invokeMethod call gives me a warning :

    QMetaObject::invokeMethod: No such method 'lib::MyObject::createTree()'

The weird thing being: it works fine if I replace MyLib.MyObject with QtObject on the QML side. Of course I want to use some additional methods present in MyObject so this is not a solution.

Anyone knows what is going on here ?

Thanks,
Jean-Michaël Celerier





-------
Jean-Michaël Celerier
http://www.jcelerier.name

_______________________________________________
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