<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C++ Model to QML ChartView - Not Showing Anything]]></title><description><![CDATA[<p dir="auto">Hello, I tried to make a C++ model. Then put it to ChartView in QML. Graph is not showing anything. I can't find anything related example online. Pls help me identify what I am doing wrong.</p>
<p dir="auto"><strong>main.cpp</strong></p>
<pre><code>#include &lt;QApplication&gt;
#include &lt;QQmlApplicationEngine&gt;
#include "DataModel.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;

    DataModel MyModel;
    qmlRegisterSingletonInstance ("hello.com",1,0,"MyData",&amp;MyModel);

    const QUrl url(u"qrc:/CPPModelForChart/main.qml"_qs);
    QObject::connect(
        &amp;engine,
        &amp;QQmlApplicationEngine::objectCreated,
        &amp;app,
        [url](QObject *obj, const QUrl &amp;objUrl) {
            if (!obj &amp;&amp; url == objUrl)
                QCoreApplication::exit(-1);
        },
        Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

</code></pre>
<p dir="auto"><strong>DataModel.h</strong></p>
<pre><code>#ifndef DATAMODEL_H
#define DATAMODEL_H

#include &lt;QObject&gt;
#include &lt;QAbstractTableModel&gt;
#include &lt;QList&gt;
#include &lt;QPointF&gt;

class DataModel : public QAbstractTableModel
{
    Q_OBJECT
public:
    enum {
        ValueRole = Qt::DisplayRole
    };
    explicit DataModel(QObject *parent = nullptr);
    int rowCount(const QModelIndex &amp;parent) const;
    int columnCount(const QModelIndex &amp;parent) const;
    QVariant data(const QModelIndex &amp;index, int role) const;
    QHash&lt;int, QByteArray&gt; roleNames() const;

signals:

private:
    QList &lt;QPointF&gt; m_points;
};

#endif // DATAMODEL_H

</code></pre>
<p dir="auto"><strong>DataModel.cpp</strong></p>
<pre><code>#include "DataModel.h"

DataModel::DataModel(QObject *parent)
    : QAbstractTableModel{parent}
{
    m_points &lt;&lt; QPointF(0, 0) &lt;&lt; QPointF(1, 1) &lt;&lt; QPointF(2, 4);
}

int DataModel::rowCount(const QModelIndex &amp;parent) const
{
    return m_points.size();
}

int DataModel::columnCount(const QModelIndex &amp;parent) const
{
    return 2;
}

QVariant DataModel::data(const QModelIndex &amp;index, int role) const
{
    if (!index.isValid() || role != Qt::DisplayRole)
        return QVariant();

    const QPointF p = m_points[index.row()];

    if (index.column() == 0)
        return p.x();

    return p.y();
}

QHash&lt;int, QByteArray&gt; DataModel::roleNames() const
{
    QHash&lt;int, QByteArray&gt; mappings;
    mappings [ValueRole] = "value";
    return mappings;
}

</code></pre>
<p dir="auto"><strong>main.qml</strong></p>
<pre><code>import QtQuick
import QtCharts
import hello.com as Peter

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
    // Write chartview that can take model from c++
    ChartView {
        id: dataChartView
        animationOptions: ChartView.NoAnimation
        antialiasing: true
        anchors.fill: parent

        ValuesAxis {
            id: axisXdata
            min: 0
            max: 3
        }

        ValuesAxis {
            id: axisYdata
            min: 0
            max: 5
        }

        LineSeries {
            id: dataLineSeries
            name: "Data"
            axisX: axisXdata
            axisY: axisYdata
            useOpenGL: true
        }

        VXYModelMapper {
            id: dataModelMapper
            model: Peter.MyData
            series: dataLineSeries
            firstRow: 0
            xColumn: 0
            yColumn: 1
        }
    }
}

</code></pre>
]]></description><link>https://forum.qt.io/topic/154619/c-model-to-qml-chartview-not-showing-anything</link><generator>RSS for Node</generator><lastBuildDate>Fri, 05 Jun 2026 20:17:35 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/154619.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Feb 2024 05:15:49 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Model to QML ChartView - Not Showing Anything on Sun, 18 Feb 2024 06:56:19 GMT]]></title><description><![CDATA[<p dir="auto"><strong>Update:</strong> I don't know why. It works when I remove OpenGL stuff from QML file.</p>
]]></description><link>https://forum.qt.io/post/790302</link><guid isPermaLink="true">https://forum.qt.io/post/790302</guid><dc:creator><![CDATA[Sajjad Ali]]></dc:creator><pubDate>Sun, 18 Feb 2024 06:56:19 GMT</pubDate></item></channel></rss>