本文内容目录
-
- 需求场景:
- 一、选择控件
- 二、将QCustomPlot库整合到你的Qt项目中
-
-
- 1、下载源代码
- 2、创建.pri
-
- 三、鼠标框选,实现坐标缩放
- 四、曲线拖动
-
-
- 1、定位曲线
- 2、移动时改变曲线
-
- 五、问题的产生与解决
-
-
- 1、查看源码
- 2、修改本项目代码
-
需求场景:
曲线图应该同时具有以下功能点:
1、在画布上进行鼠标框选,实现坐标缩放。
2、可以上下拖动某曲线。
一、选择控件
这里选择QCustomPlot,是一个C++绘图库,可以创建各种类型的绘图,包括散点图、曲线图、直方图、颜色地图、轮廓图等,可以跨平台使用。
以下是QCustomPlot的官方文档:
QCustomPlot官方网站
https://www.qcustomplot.com/
二、将QCustomPlot库整合到你的Qt项目中
1、下载源代码
2、创建.pri
.pri文件的内容添加如下:
HEADERS += \
$$PWD/qcustomplot.h
SOURCES += \
$$PWD/qcustomplot.cpp
将.pri文件,.cpp文件,.h文件放到同一个文件夹下,示例项目为PlotTest。:
并在项目配置文件.pro文件中添加语句:
include(CustomPlot/CustomPlot.pri)
重新构建后,可以看到qcustomplot库已经整合到项目中:
三、鼠标框选,实现坐标缩放
实现代码:
mCustomPlot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables);
mCustomPlot->setSelectionRectMode(QCP::