如何消除Qt折线图数据顶点处的线段弧度,实现直线连接效果?
问题原因
你当前使用的QSplineSeries是Qt Charts提供的平滑样条曲线类,默认会在数据点之间做贝塞尔插值生成带弧度的平滑线条,这是该类的固有特性。
解决方案
直接将QSplineSeries替换为QLineSeries即可,两个类同属于QXYSeries的子类,原有设置画笔、添加数据点等接口完全兼容,不需要修改其他业务逻辑。
具体修改步骤:
- 修改成员变量声明
// 替换头文件中的原有声明 // QSplineSeries *splineSeries; QLineSeries *splineSeries;
- 修改实例化代码
// 替换构造函数中的实例化语句 // this->splineSeries = new QSplineSeries(); this->splineSeries = new QLineSeries();
修改完成后重新编译运行,数据点之间就会以直线直接连接,不会再出现弧度效果。
内容的提问来源于stack exchange,提问作者aszswaz
相关产品推荐
相关产品推荐

