QCustomPlot实现曲线拖拽

本文内容目录

    • 需求场景:
    • 一、选择控件
    • 二、将QCustomPlot库整合到你的Qt项目中
        • 1、下载源代码
        • 2、创建.pri
    • 三、鼠标框选,实现坐标缩放
    • 四、曲线拖动
        • 1、定位曲线
        • 2、移动时改变曲线
    • 五、问题的产生与解决
        • 1、查看源码
        • 2、修改本项目代码

需求场景:

曲线图应该同时具有以下功能点:
1、在画布上进行鼠标框选,实现坐标缩放。
2、可以上下拖动某曲线。

QCustomPlot实现曲线拖拽_第1张图片

一、选择控件

这里选择QCustomPlot,是一个C++绘图库,可以创建各种类型的绘图,包括散点图、曲线图、直方图、颜色地图、轮廓图等,可以跨平台使用。

以下是QCustomPlot的官方文档:
QCustomPlot官方网站
https://www.qcustomplot.com/

二、将QCustomPlot库整合到你的Qt项目中

1、下载源代码

QCustomPlot实现曲线拖拽_第2张图片

2、创建.pri

.pri文件的内容添加如下:

HEADERS += \
    $$PWD/qcustomplot.h

SOURCES += \
    $$PWD/qcustomplot.cpp

将.pri文件,.cpp文件,.h文件放到同一个文件夹下,示例项目为PlotTest。:
QCustomPlot实现曲线拖拽_第3张图片
并在项目配置文件.pro文件中添加语句:

include(CustomPlot/CustomPlot.pri)

重新构建后,可以看到qcustomplot库已经整合到项目中:
QCustomPlot实现曲线拖拽_第4张图片

三、鼠标框选,实现坐标缩放

实现代码:

mCustomPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables);
mCustomPlot->setSelectionRectMode(QCP::

你可能感兴趣的:(qt,qcustomplot,c++)