I have a signal that is emitted and then gets into QML; however, when I try to read the parameters attached to the signal, I get "undefined". Below are some snippets of code. Thanks for the help in advance!
mymodel.h
class MyModel : public QObject { Q_OBJECT ... signals: void mySignal(float a, some::enum b) ... }
mymodel.cpp
Do something to emit a signal (this is not a problem, just emit mySignal(1.0, 2.0); )
someotherclass.cpp
void SomeOtherClass :: setupQML () {...
QQuickView *view = new QQuickView(); QWidget *container = QWidget::createWindowContainer(view); ... QmlRootData = new RootData(); view->rootContext()->setContextObject(QmlRootData); view->rootContext()->setContextProperty("MyModel", model); view->setSource(QUrl("main.qml")); view->setResizeMode(QQuickView::SizeRootObjectToView); QObject* rootObj = view->rootObject(); ...
}
main.qml
Rectangle { Connections { target: MyModel onMySignal: console.log(a) } }
The above console.log(a) is called when expected; however, I expect the output to be "1.0", but it just says "undefined" and I'm not sure why. I am using Qt 5.1 and Qt Quick 2.0.
source share