QtCharts小知识:如何把曲线显示到控件上
2017-08-28 09:34
1561 查看
QtCharts在5.7免费之后,笔者开始尝试使用,以取代Qwt。但在初学使用时,想把曲线显示到MainWindon控件中,还是有些困扰,可能是Qwt用多了,潜意识并把QChart与QwtPlot对应。本文举例说明如何把QChart曲线显示到界面中的容器QWidget上。
1. QSplineSeries用来加载一个坐标集,构成曲线的点集,所有设置或修改曲线的操作均在此类进行;
2. QChart创建一个图标框,有标题、坐标轴、图例等,通过addSeries加入QSplineSeries ,即可实现含曲线的图表;
3. QChartView 是一个容器,用来显示QChart 图表。
把QSplineSeries赋给QChart,QChart::addSeries函数;
把QChart给QChartView用于显示,QChartView构建函数,或QChartView::setChart函数
QtCharts绘制曲线用到的几个类
类名 | 描述 |
---|---|
QChartView | 用于显示曲线 |
QChart | 相当于QwtPlot,图表框架 |
QSplineSeries | 相当于QwtPlotCurve,曲线,有多种类型 |
2. QChart创建一个图标框,有标题、坐标轴、图例等,通过addSeries加入QSplineSeries ,即可实现含曲线的图表;
3. QChartView 是一个容器,用来显示QChart 图表。
代码示例
1. 创建一个继承QChart的类MChar
using namespace QtCharts; class MChart : public QChart { public: MChart(); private: QSplineSeries *series = new QSplineSeries();//创建一个曲线为私有变量,用于加载点集 public: void setCurve(double *xarr,double *yarr,int length); //便于操作,重写函数用于绘制图谱 };
2. 显示曲线
double simuXs[5],simuYs[5]; //创建模拟点集 for(int i=0;i<5;i++) { simuXs[i]=i; simuYs[i]=0.8*i; } chart->setCurve(simuXs,simuYs,5);//加载点集,构成曲线(直线) QChartView *chartView = new QChartView(chart);//声明QChartView 并创建实例,加载chart QGridLayout *baseLayout = new QGridLayout(); //便于显示,创建网格布局 baseLayout->addWidget(chartView, 1, 0); ui->widChart->setLayout(baseLayout); //显示到QWidget控件
3. 小结
把点集加载到QSplineSeries,QSplineSeries::append函数;把QSplineSeries赋给QChart,QChart::addSeries函数;
把QChart给QChartView用于显示,QChartView构建函数,或QChartView::setChart函数
相关文章推荐
- QtCharts_动态图QSplineSeries 显示实时动态曲线
- QT,其他类中计算出的结果如何在ui界面的控件中显示?
- Qt在控件未显示时如何获取正确的控件尺寸
- QT中的buttonbox、QMessageBox等默认控件如何显示中文
- Qt下图像自定义显示控件
- 如何在PictureBox上透明的显示文字1(利用控件技术)
- 如何让控件的显示能超过主窗口範圍?
- ios之如何让图片显示成圆形的样式/设置控件边框大小以及颜色
- Qt Symbian: 如何让自己的程序显示在桌面上方
- Flash图表控件FusionCharts如何高亮显示数据
- 如何在WindowsPhone Bing Map控件中显示必应中国中文地图、谷歌中国中文地图。
- Ubuntu 面向对象的框架Qt移植到开发板后如何显示中文
- Qt 控件(QTreeWidget、QGroupBox等)字体显示不完整
- 如何使用Repeater控件显示数据
- Visual Basic 2005——如何在DataGridView控件的储存格中同时显示出文字与图片
- 如何让验证控件在页面打开时就显示红色的*(RequiredFieldValidator )
- C# 如何定义让PropertyGrid控件显示[...]按钮,并且点击后以下拉框形式显示自定义控件编辑属性值
- 以曲线或柱状图实时显示数据的控件
- 如何实现一个循环显示超长图片的控件
- Qt控件如何响应QEvent