qt介绍图表 charts 一

qt chartsj基于Q的Graphics View框架,其核心组件是QChartView和QChart.QChartView是一个显示图表的独立部件,基类为QGraphicsView.QChar类管理图表的序列,图例和轴示意图。

绘制一个cos和sin曲线图,效果如下

实现代码

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QtCharts>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QChartView *chartView=new QChartView(this);
    QChart *chart=new QChart();
    chart->setTitle("简单函数曲线");
    chartView->setChart(chart);

    //序列
    QLineSeries *series0=new QLineSeries();
    QLineSeries *series1=new QLineSeries();
    series0->setName("sin曲线");
    series1->setName("cos曲线");
    chart->addSeries(series0);
    chart->addSeries(series1);

    //Qpen
    qreal x=0,intv=0.1;
    for(int i=0;i<100;i++)
    {
        series0->append(x,qSin(x));
        series1->append(x,qCos(x));
        x+=intv;
    }
    //轴
    QValueAxis *axisX=new QValueAxis();
    axisX->setRange(0,10);
    axisX->setTitleText("时间(秒)");
    QValueAxis *axisY=new QValueAxis();
    axisY->setRange(-2,2);
    axisY->setTitleText("值");


    chart->addAxis(axisX,Qt::AlignBottom);
    chart->addAxis(axisY,Qt::AlignLeft);

    series0->attachAxis(axisX);
    series0->attachAxis(axisY);

    series1->attachAxis(axisX);
    series1->attachAxis(axisY);
    chartView->setAlignment(Qt::AlignCenter);
    QVBoxLayout *layout=new QVBoxLayout(this);
    layout->addWidget(chartView);
    this->setLayout(layout);

}

Widget::~Widget()
{
    delete ui;
}
相关推荐
泡海椒35 分钟前
JQuick-Excel dateFormat 转换实战:日期值与 FORMAT 显示格式的边界
开发语言·python·excel
白杨尚青1 小时前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
江江爱编程1 小时前
java零基础保姆级教学01
java·开发语言
沐晓时光1 小时前
C语言入门,深入理解指针(2)
c语言·开发语言
2601_962885722 小时前
如何用 Python 做均线粘合选股?(多头发散前的变盘候选)
开发语言·python
2601_962071572 小时前
类变量和全局变量的隔离性有什么区别?
java·开发语言·jvm
海绵宝宝转agent2 小时前
LeetCode100 LRU缓存思路讲解
java·开发语言·缓存
AC赳赳老秦2 小时前
OpenClaw 与 FineBI 联动方案:公开数据自动采集与实时业务分析看板实践
大数据·开发语言·python·php·finebi·deepseek·openclaw
通信瓦工2 小时前
OCP 冷却环境与冷却剂分配单元(CDU)子项目
java·开发语言
坤坤子吖2 小时前
Python基础语法学习:函数
开发语言·笔记·python·学习