QT之QCharts的使用(绘制折线图)

一、画折线图

 

1.修改.pro文件

在里面添加QT += charts

 

2.MyWidget.h程序

#ifndef MYWIDGET_H

#define MYWIDGET_H



#include <QWidget>

/*添加以下三个头文件*/

#include <QtCharts>

#include <QChartView>

#include <QSplineSeries>

QT_BEGIN_NAMESPACE

namespace Ui { class MyWidget; }

QT_END_NAMESPACE



class MyWidget : public QWidget

{

    Q_OBJECT



public:

    MyWidget(QWidget *parent = nullptr);

    ~MyWidget();


private:

    Ui::MyWidget *ui;

    QChart *mChart;    //创建图表对象

};

#endif // MYWIDGET_H

 

2.MyWidget.cpp程序

#include "mywidget.h"

#include "ui_mywidget.h"


MyWidget::MyWidget(QWidget *parent)

    : QWidget(parent)

    , ui(new Ui::MyWidget)

{

    ui->setupUi(this);

    QLineSeries *lineSeries = new QLineSeries();        //创建折线系列


    QChartView *chartView = new QChartView(this);


    /*为系列里添加100个数据*/

    for(quint8 i=0; i<100; i++)

    {

        lineSeries->append(i,qrand()%300);

    }


    lineSeries->setName("系列一");                  //设置系列名称


    mChart = new QChart();                          //创建图标对象


    mChart->addSeries(lineSeries);                  //向图表中添加系列


    mChart->createDefaultAxes();                       //创建默认的坐标,必须在addSeries之后调用

    mChart->setTheme(QChart::ChartThemeDark);           //设置图标主题


    mChart->setTitle("图标实例");                       //设置图标名称


    mChart->legend()->hide();                          //隐藏图例,也就是不显示系列名称了


    chartView->setChart(mChart);                    //向chartView中添加图标


    chartView->resize(QSize(500,300));              //重新设置chartView的大小


    chartView->setRenderHints(QPainter::Antialiasing);//消除边缘,看起来平滑一些


    ui->horizontalLayout->addWidget(chartView);     //把chartView放到水平布局中(在ui中拖一个水平布局)

}


MyWidget::~MyWidget()

{

    delete ui;

}

 

  • 22
    点赞
  • 132
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
要在Qt中画折线图,需要使用Qt Charts模块。下面是一个简单的示例: 首先,我们需要在.pro文件中添加`QT += charts`,以便包含Qt Charts模块。 然后,在代码中,我们需要创建一个QLineSeries对象,用于表示折线图的数据。例如: ```cpp QLineSeries *series = new QLineSeries(); series->append(0, 1); series->append(1, 3); series->append(2, 4); series->append(3, 2); ``` 在这个例子中,我们创建了一个包含四个点的折线图。接下来,我们需要创建一个QChart对象,并将QLineSeries添加到该图表中: ```cpp QChart *chart = new QChart(); chart->addSeries(series); ``` 我们还需要创建一个QChartView对象,将QChart显示出来: ```cpp QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); ``` 最后,我们将QChartView添加到窗口中: ```cpp QMainWindow window; window.setCentralWidget(chartView); window.resize(400, 300); window.show(); ``` 完整的代码如下: ```cpp #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> #include <QtWidgets/QMainWindow> QT_CHARTS_USE_NAMESPACE int main(int argc, char *argv[]) { QApplication app(argc, argv); QLineSeries *series = new QLineSeries(); series->append(0, 1); series->append(1, 3); series->append(2, 4); series->append(3, 2); QChart *chart = new QChart(); chart->addSeries(series); chart->setTitle("折线图示例"); QValueAxis *axisX = new QValueAxis; axisX->setTitleText("X轴"); chart->setAxisX(axisX, series); QValueAxis *axisY = new QValueAxis; axisY->setTitleText("Y轴"); chart->setAxisY(axisY, series); QChartView *chartView = new QChartView(chart); chartView->setRenderHint(QPainter::Antialiasing); QMainWindow window; window.setCentralWidget(chartView); window.resize(400, 300); window.show(); return app.exec(); } ``` 这个示例中,我们还添加了X轴和Y轴,并设置它们的标题。如果您需要更多的样式和配置选项,可以查看Qt Charts文档以获取更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值