void MainWindow::prepareData()
{
//QLineSeries* series0 = (QLineSeries*)ui.chartView->chart()->series().at(0);
//QLineSeries* series1 = (QLineSeries*)ui.chartView->chart()->series().at(1);
QLineSeries* series0 = qobject_cast<QLineSeries*>(ui.chartView->chart()->series().at(0));
QLineSeries* series1 = qobject_cast<QLineSeries*>(ui.chartView->chart()->series().at(1));
series0->clear();
series1->clear();
srand(QTime::currentTime().second());
qreal t = 0, y1, y2, intv = 0.1;
qreal rd;
int cnt = 100;
for (int i = 0; i < cnt; i++)
{
rd = (rand() % 10) - 5;
y1 = qSin(t) + rd / 50;
series0->append(t, y1);
rd = (rand() % 10) - 5;
y2 = qSin(t) + rd / 50;
series1->append(t, y2);
t += intv;
}
}
一运行就报下面这个文件出错
qlish.h文件
const_reference at(qsizetype i) const noexcept
{
Q_ASSERT_X(size_t(i) < size_t(d->size), "QList::at", "index out of range");
return data()[i]; //i=0,并没有获取到序列
}
为什么啊chart->addSeries(series0);
chart->addSeries(series1);我已经添加序列了啊
Qtchart获取不到序列项
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 - 这篇博客也许可以解决你的问题👉 :QtChart——简单的动态波形图
- 除此之外, 这篇博客: QtCharts图形移动和缩放中的 实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
继承QChartView,主要重新实现鼠标事件和键盘事件。
- 移动图形利用QChart的scroll函数;
void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
鼠标按下时,记录按下状态,并记录当前坐标位置,在移动事件内计算鼠标移动的距离,以此设置图形滚动的距离,即可实现移动 - 缩放则设置当前坐标轴的显示范围;
void setRange(const QVariant &min, const QVariant &max);
- 移动图形利用QChart的scroll函数;
解决 无用评论 打赏 举报
悬赏问题
- ¥100 需要跳转番茄畅听app的adb命令
- ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
- ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
- ¥50 opencv4nodejs 如何安装
- ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
- ¥15 nginx反向代理获取ip,java获取真实ip
- ¥15 eda:门禁系统设计
- ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
- ¥15 376.1电表主站通信协议下发指令全被否认问题
- ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证