title: invoke qml method from c++ by qquickitem as an argument
body: <p>according to <a href="https://doc.qt.io/qt-5/qmetaobject.html#invokeMethod" rel="nofollow noreferrer">document</a>, we had to send QVariant variable to a qml item function as an argument. but now we want to send a QQuickItem as an argument.
  like below code :</p>
  <p>cpp method call :</p>
  <pre><code>QQmlComponent component(engine(), QUrl(&quot;qrc:/arg.qml&quot;));
  QQuickItem *item = qobject_cast&lt;QQuickItem*&gt;(component.create());
  
  QMetaObject::invokeMethod( getItem(&quot;tileView&quot;), &quot;setTile&quot;,
                            Q_ARG(QVariant,QVariant::fromValue(0)),
                            Q_ARG(QVariant,QVariant(item)));
  </code></pre>
  <p>arg.qml file :</p>
  <pre><code>    function setTile(tileIndex, newItem)
  {
      removeContent(tileIndex)
  
      if(newItem !== null)
      {
          newItem.parent = root.children[tileIndex].content
          newItem.z = 1
          newItem.anchors.fill = newItem.parent
  
          root.children[tileIndex].addedItem = newItem
      }
      return true
  }
  </code></pre>
  <p>is there any way to convert QQuickItem to QVariant and send them to QML items?</p>