<div dir="ltr">Is there an example of populating a QML list of objects from Python so that other objects using the members of these lists receive updates when their properties are changed?  In my app.qml (simplified psuedocode), I have something like:<div><font face="monospace"><br></font></div><div><font face="monospace">Item {</font></div><div><font face="monospace">  Store { id: 'store' }</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  ChannelsListing {</font></div><div><font face="monospace">    channels: store.channels</font></div><div><font face="monospace">  }</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  ChannelsSummary {</font></div><div><font face="monospace">    channels: store.channels  <br></font></div><div><font face="monospace">  }</font></div><div><font face="monospace">}</font></div><div><br></div><div>A channel is a QML object looks like (and has an appropriate Python class registered):</div><div><br></div><div><font face="monospace">Channel {</font></div><div><font face="monospace">  property int id</font></div><div><font face="monospace">  property str name</font></div><div><font face="monospace">}</font></div><div><br></div><div>The ChannelsListing and ChannelSummary are pure QML with no need for Python (hopefully).  They simply display the data and update when the data changes.  They don't change the channels themselves, but instead will send an action upwards to whatever back-end the store is getting the data from to modify the data.  This should ensure that all views of the data remain consistent.</div><div><br></div><div>I can make a Python Store class derived from QQuickItem and register it to the Store QML type:</div><div><br></div><div><font face="monospace">class Store(QQuickItem):</font></div><div><font face="monospace">  def __init__(self):</font></div><div><font face="monospace">    self._channels = []</font></div><div><font face="monospace"><br></font></div><div><font face="monospace">  @pyqtProperty(QQmlListProperty)</font></div><div><font face="monospace">  def channels(self):</font></div><div><font face="monospace">    return QQmlListProperty(Channel, self, self._channels)</font></div><div><br></div><div>The store also connects to an ZMQ socket, and receives model data for the channels in JSON.  However, when I try to use the append functions of a QQmlListProperty, I get errors as Store.channels is actually a QQmlListPropertyWrapper, which I can "len" and iterate over, but can't modify.</div><div><br></div><div>Is this approach possible?  Am I trying to put a square peg in a round hole?  Should I be doing the data modification entirely in QML?  I'm open to any suggestions and architecture recommendations.</div><div><br></div><div>Thanks,</div><div>Louis</div></div>