Qt波形显示

Qt显示波形常用的有Qt自带的QChart,还有外加Plotter
一、QChart的用法
1、在Qt的pro中添加QT += charts
2、头文件中添加

#include //显示图表
#include 
#include 
#include 
#include 
#include 
QT_CHARTS_USE_NAMESPACE

3、cpp文件

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    series = new QSplineSeries;
    chart = new QChart;
    chart->addSeries(series);

    chartview = new QChartView(chart);
    layout = new QHBoxLayout;

    chart->legend()->hide();
    chart->setTitle(QStringLiteral("实时动态曲线"));
    chart->createDefaultAxes();
    chart->axisX()->setRange(0, 10);
    chart->axisY()->setRange(-1, 1);
    for(int i = 0;i<100;i++)
    {
        series->append(i,sin(i%360));//正弦波
    }
    layout->addWidget(chartview);
    ui->widget->setLayout(layout);
    chartview->setRenderHint(QPainter::Antialiasing);//防止图形走样
    chartview->setRubberBand(QChartView::RectangleRubberBand);//XY方向同时放大到鼠标画出的矩形大小

}

显示结果
Qt波形显示_第1张图片
二、外加plotter
plotter.h和plotter.cpp看链接:
https://blog.csdn.net/weixin_43917678/article/details/103710771
头文件中

#include "plotter.h"

private:
    Plotter *plotter;
    PlotSettings settings;

cpp文件中

	plotter = new Plotter();
    settings.minX = 0.0;
    settings.maxX = 100;
    settings.TitleX = "Timer(us)";
    settings.minY = 0;
    settings.maxY = 100;
    settings.TitleY = QStringLiteral("电压(V)");
    plotter->setPlotSettings(settings);

    QHBoxLayout *Layout = new QHBoxLayout();
    Layout->addWidget(plotter);
    ui->showWidget->setLayout(Layout);
    QVector points;
     for(int i = 0;isetCurveData(0,points);

你可能感兴趣的:(Qt)