Qt使用QCustomPlot的实现示例

 更新时间:2024年01月02日 09:46:29   作者:怎么追摩羯座  
QCustomPlot是一个基于Qt C++的图形库,用于绘制和数据可视化,并为实时可视化应用程序提供高性能服务,本文主要介绍了Qt使用QCustomPlot的实现示例,感兴趣的可以了解一下

一、下载文件

进入官网,选择“Download”、QCustomPlot.tar.gz

Qt Plotting Widget QCustomPlot - Download

二、创建项目

创建一个"Qt Widget Application"项目,基类选择“QMainWindow”,把刚才下载的压缩包里的“qcustomplot.h”和“qcustomplot.cpp”拷贝到项目目录下

右击项目名称,添加现有文件,选择“qcustomplot.h”和“qcustomplot.cpp”

双击“mainwindow.ui”,往界面上拖拽一个Widget,并进行栅格布局

右击“Widget”,选择“提升为”

填写类名称“QCustomPlot”,点击“添加”

点击“提升”

Widget的基类被更改

三、修改代码

在.pro文件中添加:QT += printsupport

#-------------------------------------------------
#
# Project created by QtCreator 2023-10-04T14:16:44
#
#-------------------------------------------------
 
QT += core gui
QT += printsupport
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 
TARGET = MyCustomPlot
TEMPLATE = app
 
# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
 
# You can also make your code fail to compile if you use deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
 
CONFIG += c++11
 
SOURCES += \
main.cpp \
mainwindow.cpp \
qcustomplot.cpp
 
HEADERS += \
mainwindow.h \
qcustomplot.h
 
FORMS += \
mainwindow.ui
 
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

更改mainwindow.cpp代码入下 

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "qcustomplot.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //可移动缩放
    ui->widget->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom );
    //设置背景颜色
    ui->widget->setBackground(QColor(25,35,45));
    //轴刻度文字
    ui->widget->xAxis->setTickLabelColor(Qt::white);
    ui->widget->yAxis->setTickLabelColor(Qt::white);
    //设定右上角图形标注可见
    ui->widget->legend->setVisible(true);
    ui->widget->legend->setBrush(QColor(25,35,45));
    ui->widget->legend->setTextColor(Qt::white);
    ui->widget->legend->setFont(QFont("Helvetica", 9));
    //设置X轴坐标范围
    ui->widget->xAxis->setRange(-10, 100);
    //设置Y轴坐标范围
    ui->widget->yAxis->setRange(-150, 150);
    ui->widget->addGraph();
    ui->widget->graph(0)->setName("通道1");
    ui->widget->graph(0)->setPen(QPen(QColor(178,34,34)));
    //传入数据 QVector<double>类型
    QVector<double> xData;
    QVector<double> yData;
    for(int i = 0; i < 100; i++)
    {
        xData.append(i);
        yData.append(150 * sin(i));
    }
    ui->widget->graph(0)->setData(xData, yData);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}

四、运行测试

运行程序,界面显示如下

到此这篇关于Qt使用QCustomPlot的实现示例的文章就介绍到这了,更多相关Qt使用QCustomPlot内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • C++中队列queue的用法实例详解

    C++中队列queue的用法实例详解

    队列先进先出,即只能在容器的末尾添加新元素,只能从头部移除元素,下面这篇文章主要给大家介绍了关于C++中队列queue用法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 深入了解C++智能指针的使用

    深入了解C++智能指针的使用

    智能指针的本质就是使用一个对象来接管一段开辟的空间,在该对象在销毁的时候,自动调用析构函数来释放这段内存。本文就来和大家详细聊聊智能指针的使用,需要的可以参考一下
    2022-10-10
  • 一文读懂C++中的继承之菱形继承(案例分析)

    一文读懂C++中的继承之菱形继承(案例分析)

    这篇文章主要介绍了C++中的继承之菱形继承的相关知识,通过案例给大家详细分析介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-04-04
  • 浅谈关于C语言中#define的副作用

    浅谈关于C语言中#define的副作用

    这篇文章主要介绍了关于C语言中#define的副作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 内核线程优先级设置的方法介绍

    内核线程优先级设置的方法介绍

    本篇文章介绍了,内核线程优先级设置的方法。需要的朋友参考下
    2013-05-05
  • C语言合并两个带头节点升序排列链表

    C语言合并两个带头节点升序排列链表

    这篇文章主要为大家详细介绍了C语言合并两个带头节点升序排列链表的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C语言全面细致精讲操作符的使用

    C语言全面细致精讲操作符的使用

    C 语言提供了丰富的操作符,有:算术操作符,移位操作符,位操作符,赋值操作符,单目操作符,关系操作符,逻辑操作符,条件操作符等。接下了让我们详细了解掌握它
    2022-05-05
  • 最新C/C++中的new和delete的实现过程小结

    最新C/C++中的new和delete的实现过程小结

    这篇文章主要介绍了C/C++中的new和delete的实现过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 基于C++实现柏林噪声算法(Perlin Noise)

    基于C++实现柏林噪声算法(Perlin Noise)

    Perlin噪声(Perlin noise,又称为柏林噪声)指由Ken Perlin发明的自然噪声生成算法,具有在函数上的连续性,并可在多次调用时给出一致的数值。本文将用C++实现柏林噪声算法,感兴趣的可以了解一下
    2023-03-03
  • C++下标运算符详解

    C++下标运算符详解

    C语言中的下标运算符用于访问数组或指针变量中的元素,它使用方括号 [] 来表示,并在方括号内指定元素的索引位置,本文给大家详细的讲解一下C++的下标运算符,需要的朋友可以参考下
    2023-09-09

最新评论