title: Qt5 - Display dynamic Data Model in QML TableView
body: <p>I'm developing a trace window for a GUI.  I'm using a TableView element on the QML side to display data that will be constantly updating.  How can I populate this element with data?  The numbers of elements changes, along with each element's data, every few milliseconds.</p>
  
  <p>I'm thinking a signals/slots implementation would be ideal, when the data changes, produce a signal that triggers a slot function to update the values shown in the TableView?  Something along those lines.</p>
  
  <p>Thanks in advance!</p>
  
  <h2>main.qml</h2>
  
  <pre><code>import QtQuick.Controls 1.1
  import QtQuick.Layouts 1.1
  import QtQuick.Dialogs 1.1
  import QtQuick 2.1
  
  ....
  TableView {
                  anchors.fill: parent
                  id: traceTable
                  //table data comes from a model
                  model: traceTableModel
                  //Component.onCompleted: classInstance.popAndDisplayMsg(classInstance)
                  TableViewColumn { role: "index"; title: "Index";  width: 0.25 * mainWindow.width; }
                  TableViewColumn { role: "type"; title: "Type"; width: 0.25 * mainWindow.width; }
                  TableViewColumn { role: "uid"; title: "ID"; width: 0.25 * mainWindow.width; }
                  TableViewColumn { role: "timestamp"; title: "Timestamp"; width: 0.25 * mainWindow.width; }
  
  
              }
  ....
  </code></pre>
  
  <h2>main.cpp</h2>
  
  <pre><code>#include "class_header.hpp"
  #include &lt;QtQuick/QQuickView&gt;
  #include &lt;QGuiApplication&gt;
  #include &lt;QQmlContext&gt;
  
  int main(int argc, char *argv[])
  {
      QGuiApplication app(argc, argv);
  
      QQuickView view;
  
      class_name instance;
  
      view.rootContext()-&gt;setContextProperty("classInstance", &amp;instance);
  
      view.setResizeMode(QQuickView::SizeRootObjectToView);
      view.setSource(QUrl("qml/main.qml"));
      view.show();
      return app.exec();
  }
  </code></pre>
  
  <h2>class_header.hpp</h2>
  
  <pre><code>#ifndef class_name_HPP
  #define class_name_HPP
  
  #include &lt;QtQuick/QQuickItem&gt;
  #include &lt;polysync_core.h&gt;
  #include &lt;glib.h&gt;
  #include &lt;QString&gt;
  #include &lt;QDebug&gt;
  
  
  class class_name : public QQuickItem
  {
      Q_OBJECT
      //Maybe some Q_Properties here?
  
      public:
  
          //constructor
          class_name(QQuickItem *parent = 0);
          //deconstructor
          ~class_name();
  
      signals:
          void dataChanged();
  
      public slots:
          int updateInfo(//pass some data);
  
  };
  
  #endif // class_name_HPP
  </code></pre>