title: Is emitting a signal from C++ to QML for reading a Q_PROPERTY a synchronous event?
body: <p>Using Qt 5.1 I have this:</p>
  
  <pre><code>Q_PROPERTY(float d1 MEMBER data1 NOTIFY datas_changed_signal)
  Q_PROPERTY(float d2 MEMBER data2 NOTIFY datas_changed_signal)
  
  ....
  
  void setOBJ(nobj){
          obj=nobj; //these are pointers to a data structure
          data1=nobj-&gt;data1(); //assign to member of this class
          data2=nobj-&gt;data2();
  
          emit datas_changed_signal();
      }
  </code></pre>
  
  <p>My class receives a pointer to some data, <code>nobj</code> and then I want my QML to have access to this data. Actually <code>nobj</code> contains far more than just 2 data items, but I express here for simplicity.</p>
  
  <p>I want to know a couple things. First, what happens when <code>setOBJ</code> is called often, quickly. Is there a risk that the QML will get notified but not read the <code>MEMBER</code> (data1 or data2) before <code>setOBJ</code> is called again? Could the QML miss some updates because of this? This would happen if it was asynchronous, for example. Or, can I always count on the QML getting the data every time this signal above it emitted?</p>
  
  <p>Second, it seems to me there is some unnecessary overhead here in creating intermediate data members to store the data from the passed-in object <code>nobj</code>.  I tried this instead:</p>
  
  <pre><code>    Q_PROPERTY(float d1 MEMBER obj-&gt;data1() NOTIFY datas_changed_signal)
  </code></pre>
  
  <p>But MOC doesn't seem to like using <code>Q_PROPERTY</code> in this way (doesn't compile). Would there be a similar alternative? </p>
  
  <p>Update: I found <a href="http://qt-project.org/doc/qt-5.0/qtqml/qtqml-cppintegration-interactqmlfromcpp.html#invoking-qml-methods" rel="nofollow">this method (link)</a> that seems like a viable alternative to Q_PROPERTY for sending data from C++ to QML, I could just send my data pieces as arguments to a QML function. Is that a good alternative?</p>