【QCustomPlot】使用方法(源码方式)

这篇具有很好参考价值的文章主要介绍了【QCustomPlot】使用方法(源码方式)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明

使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 的一种使用方法,通过包含源码的方式进行使用,这也是最常用的方法,示例中使用的 QCustomPlot 版本为 Version 2.1.1

目录
  • 说明
  • 1. 下载源码
  • 2. 使用方法
    • 2.1 将源文件添加进项目
    • 2.2 修改 .pro 工程文件
    • 2.3 将 QWidget 提升为 QCustomPlot
    • 2.4 绘制图像
  • 3. 示例工程源码
    • 3.1 文件 demoQCP.pro
    • 3.2 文件 main.cpp
    • 3.3 文件 mainwindow.h
    • 3.4 文件 mainwindow.cpp
    • 3.5 其他文件

1. 下载源码

详见本人另一篇博客 【QCustomPlot】下载,使用时,只需要 qcustomplot.hqcustomplot.cpp 两个文件。官网 - QCustomPlot - SettingUp 有对 QCustomPlot 的使用方法做介绍。

2. 使用方法

2.1 将源文件添加进项目

qcustomplot.hqcustomplot.cpp 两个文件放在项目路径下,然后右键 项目名 -> 添加现有文件...,选择 qcustomplot.hqcustomplot.cpp

【QCustomPlot】使用方法(源码方式)

2.2 修改 .pro 工程文件

由于 QCustomPlot 具有导出 PDF 的功能,使用到了 printsupport 模块,因此需要在 .pro 工程文件中添加这一模块,如下所示,注意前面的版本条件。

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

【QCustomPlot】使用方法(源码方式)

2.3 将 QWidget 提升为 QCustomPlot

在设计界面中,右键某个 QWidget 控件,点击 提升为...

【QCustomPlot】使用方法(源码方式)

在弹出的对话框中,先在 ”提升的类名称“ 一栏写上 QCustomPlot,注意大小写要完全一致,然后点击 添加 按钮,最后点击 提升 按钮。

【QCustomPlot】使用方法(源码方式)

至此,这个 QWidget 控件就被提升为了 QCustomPlot 控件,可以进行绘图了。

【QCustomPlot】使用方法(源码方式)

2.4 绘制图像

完成以上几步后,点击左下方的绿色三角,运行项目,会得到一个空的坐标轴,如下所示:

【QCustomPlot】使用方法(源码方式)

在这个区域内,可以使用 QCustomPlot 提供的方法绘制函数曲线图、参数曲线图、柱状图、箱线图、热力图等,详见帮助文档,或本人同系列博客。这里提供一个示例,在合适的地方添加如下代码:

QVector<double> x = {0,1,2,3,4,5,6,7,8,9};
QVector<double> y = {0,2,4,9,16,25,36,49,64,81};
ui->widget->addGraph();
ui->widget->graph(0)->setData(x, y);
ui->widget->graph(0)->rescaleAxes();
ui->widget->replot();

再次点击左下方的绿色三角,运行项目,会得到以下曲线图:

【QCustomPlot】使用方法(源码方式)

3. 示例工程源码

3.1 文件 demoQCP.pro

QT       += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport
TARGET = demoQCP
TEMPLATE = app

SOURCES += \
        main.cpp \
        mainwindow.cpp \
        qcustomplot.cpp

HEADERS += \
        mainwindow.h \
        qcustomplot.h

FORMS += \
        mainwindow.ui

3.2 文件 main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}

3.3 文件 mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

3.4 文件 mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    // 绘图代码
    QVector<double> x = {0,1,2,3,4,5,6,7,8,9};
    QVector<double> y = {0,2,4,9,16,25,36,49,64,81};
    ui->widget->addGraph();
    ui->widget->graph(0)->setData(x, y);
    ui->widget->graph(0)->rescaleAxes();
    ui->widget->replot();
}

MainWindow::~MainWindow()
{
    delete ui;
}

3.5 其他文件

除以上四个文件外,还剩三个文件:mainwindow.uiqcustomplot.hqcustomplot.cpp。其中 mainwindow.ui 是 Qt Creator 生成的默认 UI 文件,界面中只多了一个提升后的 QCustomPlot 控件,可使用同样步骤再次生成。qcustomplot.hqcustomplot.cpp 即是下载所得的两个文件。文章来源地址https://www.toymoban.com/news/detail-488828.html

到了这里,关于【QCustomPlot】使用方法(源码方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cfssl使用方法重新整理说明

    ​​​​CFSSL是 CloudFlare 的 PKI 工具包,除此之外,它还可以​​​用于生成证书签名。 1、需要先创建根证书 2、利用根证书,来颁发子证书 如果将证书用在服务器端一侧,就可以称为服务器端证书 如果将证书用在客户端一侧,就可以称为客户端证书 依次类推 创建根证书时

    2024年02月07日
    浏览(41)
  • strip()函数详细说明及使用方法

    strip() 函数是Python字符串方法之一,用于处理字符串的前导和尾随空白字符。它返回一个新字符串,该字符串是原始字符串去除前导和尾随空格(包括空格、制表符、换行符等)后的结果。 详细说明 self :表示要操作的字符串对象。 chars :是一个可选参数,用于指定要去除的

    2024年02月07日
    浏览(42)
  • RedisTemplet opsForHash中方法使用说明

    opsForHash主要用于操作Redis的hash的,使用方式:redisTemplate.opsForHash().方法名,比如 以下各方法皆来自于Redis的命令,命令详细介绍参考https://blog.csdn.net/ppjsyw/article/details/125087623 相关命令 hset key field value 方法 参数说明 key:键名 hashKey:字段名 value:值 示例 相关命令 hset key field value [fie

    2024年02月01日
    浏览(39)
  • Git&GitHub的使用方法及具体的介绍说明

    GitGitHub 1 版本控制工具应该具备的功能 协同修改 多人并行不悖的修改服务器端的同一个文件。 数据备份 不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。 版本管理 在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运

    2024年02月04日
    浏览(46)
  • MybatisPlus之QueryWrapper有无条件方法的使用说明

    QueryWrapper 两种重载方法,其中一种是布尔类型condition条件参数,另一种是没有布尔类型参数,比如下面这两个方法: 它们有什么区别呢? 鄙人细研究了一番,得出如下结论: boolean condition:用于指定当前这个条件是否有效;如果为 true,则使用当前条件;如果为 false,则忽

    2024年02月12日
    浏览(40)
  • FANUC机器人加减速倍率指令ACC的使用方法说明

    单位有一台FANUC机器人(型号:M-900iB 360kg),偶尔会在启动的瞬间会报SRVO-050碰撞检测报警,而事实上机器人并没有开始移动或和其他工件产生碰撞,一直查了很长时间,也没有查到具体的原因,也尝试过重新进行负载推算,但是偶尔还是会出现SRVO-050的报警。 关于SRVO-050 碰

    2024年02月12日
    浏览(153)
  • 史上最全OpenCV常用方法及使用说明汇总,建议收藏!

    前言 : Hello大家好,我是小哥谈。 计算机视觉的基础首先是处理图像、视频这些非结构化的数据,而图像处理库比较常用和强大的有PIL、OpenCV模块,本节课主要讲述 OpenCV常用的方法及使用说明。  🌈      目录 🚀一、基本操作  🚀二、绘图 🚀三、阈值处理 🚀四、几何

    2024年02月11日
    浏览(40)
  • SOC系统经典IP介绍以及使用方法说明之dw_i2c

    第三章 DW_i2c功能及使用流程介绍 文章目录 前言 一、功能介绍 1.1 i2c写操作: 1.1.1 详细flow介绍 1.2 i2c读操作: 1.2.1 详细flow介绍 二、软件流程介绍 2.1 定义WDT中断服务子程序 2.2 定义main函数 三、总结      按照i2c的协议,i2c的时钟由master方提供,master可以向slave发送数据,也

    2024年02月03日
    浏览(45)
  • 关于阿里云的API接口调用使用说明以及使用艾格瑞特API接口获取验证码的方法

    需要在API网关控制台创建APP,然后将API授权给APP即可。 使用详情页给的请求示例!!!(替换示例中的AppCode)就可以了 本发明涉及互联网技术领域,具体涉及一种API自动管理和SDK、文档自动生成方法。 背景技术: 伴随着互联网时代的多元化发展,更多技术人员将精力投入

    2023年04月18日
    浏览(47)
  • Java中日期时间格式化方法SimpleDateFormat和DateTimeFormatter使用完整示例及区别说明

    示例代码: 示例截图:  这里完整的用两种方法分别实现了日期和String的来回转换,鉴于SimpleDateFormat早已过时,且非线程安全,所以推荐大家首选使用DateTimeFormatter,用法基本都是差不多的。变化不大。但是DateTimeFormatter需要Java Level 8(8 - Lambdas, type annotations etc.),需留意。

    2023年04月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包