<div>You can try to use signals and slots like this:<br></div><div><br></div><div>Header<br></div><div><i>class // ...</i><i><br></i></div><div><i>{</i><i><br></i></div><div><i> // ...</i><i><br></i></div><div><i><br></i></div><div><i>signals:</i><i><br></i></div><div><i> void somethingWasDone();</i><i><br></i></div><div><i><br></i></div><div><i> // ....</i><i><br></i></div><div><i>}</i><br></div><div><br></div><div>Source<br></div><div><i>// ...</i><i><br></i></div><div><i><br></i></div><div><i>someMethod() {</i><i><br></i></div><div><i> // Do something ....</i><i><br></i></div><div><i> emit somethingWasDone();</i><i><br></i></div><div><i>}</i><i><br></i></div><div><i><br></i></div><div><i>// ...</i><br></div><div><br></div><div>QML<br></div><div><i>// ...</i><i><br></i></div><div><i></i><i><br></i></div><div><i>Connections {</i><i><br></i></div><div><i> target: // Your module</i><i><br></i></div><div><i> onSomethingWasDone: // Change properties</i><i><br></i></div><div><i>}</i><i><br></i></div><div><i></i><i><br></i></div><div><i>// ...</i><br></div><div><br></div><div>More about this you can see at the video: <a href="https://www.youtube.com/watch?v=R59lpwNy9WE">https://www.youtube.com/watch?v=R59lpwNy9WE</a><br></div><div><br></div><div>Regards,<br></div><div>Petr<br></div><div><a href="https://udmlug.wordpress.com/">Linux User Group Udmurtia</a><br></div><div><br></div><div><br></div><blockquote><div>-------- Original Message --------<br></div><div>Subject: Re: [SailfishDevel] Accessing C++ properties from QML<br></div><div>Time (UTC): August 13 2015 5:26 pm<br></div><div>From: ziobilly94@gmail.com<br></div><div>To: devel@lists.sailfishos.org<br></div><div>CC: <br></div><div dir="ltr"><div><div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">for properties system you should use Q_PROPERTY macro inside your class.<br></blockquote><div><br></div><div>Since i have to access properties of a class declared inside another class i find using the macro Q_PROPERTY a little confusing.<br></div></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">Actually, I think you're creating a new
instance of the FirstPage.qml component using this code. But,
Sailfish should have already created its own instance of that page
when it started up.<br> <br>
You might instead try retrieving a view of the Sailfish instance
and going from there, something like this:<br> <br>
QQuickView *view = SailfishApp::createView();<br>
QObject *object = view->rootObject();<span class=""></span><br><span class="">
QObject *label = object->findChild<QObject *>("label");</span><br><span class=""></span><br><span class=""></span><span class="HOEnZb"><span style="color:#888888" class="colour">
--John</span></span></blockquote><div><br></div></div><div>I tried this, it compiles, after including <sailfishapp.h> and <QQuickItem>, but now there's no output, as it can't find the proper object or the SailfishApp::createView() creates a new, empty view<br></div><div><br></div><div>The code is this:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"> ...<br></blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"> QQuickView *view = SailfishApp::createView();<br> QObject *object = view->rootObject();<br> QObject *label = object->findChild<QObject*>("label");<br> QQmlProperty property(label, "text");<br><br> cout << "Read before: " << property.read().toString() << endl;<br><br> if (label) {<br> cout << "true";<br> property.write(<a href="http://active.name">active.name</a>);<br> } else<br> cout << "false" << endl;<br><br> cout << "Read after: " << property.read().toString() << endl;<br><br> fetchMonsterDone();</blockquote><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div> ... <br></div></blockquote><div><br></div><div><div>the output is:<br></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(60, 60, 60)" class="colour"><span style="font-family:"Monospace"" class="font"><span style="font-size:9pt" class="size">Read before: </span></span></span><br></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(60, 60, 60)" class="colour"><span style="font-family:"Monospace"" class="font"><span style="font-size:9pt" class="size">false</span></span></span><br></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(60, 60, 60)" class="colour"><span style="font-family:"Monospace"" class="font"><span style="font-size:9pt" class="size">Read after: </span></span></span><br></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"><span style="color:rgb(190, 20, 20)" class="colour"><span style="font-family:"Monospace"" class="font"><span style="font-size:9pt" class="size">[D] onFetchMonsterDone:51 - Fetch done</span></span></span><br></p></blockquote></div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><br></blockquote></div></blockquote><div><br></div>