qml chartview在发送到C ++

时间:2017-10-05 11:22:22

标签: c++ qt qml

我有一个包含多个数据系列的数据源(前面未知)。

我想在qml LineSeries中添加ChartView,所以我试图勾选'像这样的qml的C ++方面:

// data source
...
Q_PROPERTY(QtCharts::QChartView *chart READ chart WRITE setChart NOTIFY chartChanged)
public slots:
void setChart(QtCharts::QChartView *newChart) {
  qDebug() << "received new chart to draw on:" << newChart;
}

在qml中,我将图表或多或少地发送到C ++:

...
ChartView { id: chart
  ...
}
Component.onCompleted: { backend.setChart(chart) }

现在setChart被称为allright,但类型似乎不匹配:传入的图表指针为空:

> received new chart to draw on:  QWidget(0x0)

将输入类型放宽到普通QObject*,向我显示传入对象的实际类型为QtQuick::DeclarativeChart

我应该如何将chart项发送到我的C ++模型? (或者我应该使用完全不同的方法?)

1 个答案:

答案 0 :(得分:0)

如果您需要更新图表轴和序列,则应将其发送到c ++并更新它们。我写了一个示例,您可以看一下,我认为它满足了您的需求。 在此示例中,我将c ++语音示例从QWidget图表转换为QML图表,但是系列信息正在c ++中更新: QML chart updating in c++ Example