title: Modify member variable of object held in QVariant
body: <p>I have a QVariantList containing objects of different classes.  I need to modify a member variable of one object held in the list.  My code runs, but the object is not changing (looks like a copy of the object is being changed).  Here is sample code similar to what I'm doing:</p>
  
  <pre><code>QVariantList l;
  QVariant v = l.at(0);
  MyClass c;
  if (v.canConvert&lt;MyClass &gt;()) c = v.value&lt;MyClass &gt;();
  c.myfield(10);
  // l.at(0) has not changed
  </code></pre>
  
  <p>I also tried:</p>
  
  <pre><code>qvariant_cast&lt;MyClass&gt;(v).myfield(10)
  </code></pre>
  
  <p>but no difference.  I want to change myfield of the object, not a copy of the object. How do I modify the 'myfield' field of the object held in the QVariant v.  </p>