续qcustomplot高级轴应用添加图形部分

本文详细介绍了MPlot类,它扩展了QCustomPlot的功能,包括添加高级轴矩形、管理图形、设置数据以及处理用户交互。方法如addAxisRect、addGraphsOnRect等提供灵活的图形控制。
摘要由CSDN通过智能技术生成

1、如何管理axisRect

2、如何管理graph

3、取图形设置数据

代码如下:

#ifndef MPLOT_H
#define MPLOT_H

#include "qcustomplot.h"
#include "datdefine.h"

class QCPMarginGroup;
class QCPGraph;
class QCPGraphData;

class MPlot : public QCustomPlot
{
    Q_OBJECT
public:
    explicit MPlot(QWidget *parent = nullptr);
    ~MPlot();

    /**
     * @brief setMInteractionType 设置用户与图交互类型
     * @param iType     mNone->空模式, mDefault->默认模式, mSelect->选择模式
     */
    void setMInteractionType(MInteraction iType);

    /**
     * @brief addAxisRect  高级轴矩形添加
     * @param strY         y轴名称
     * @param strX         x轴名称
     * @param strTitile    矩形标题
     * @return             当前添加矩形
     */
    void addAxisRect(const QString &strY, const QString &strX, const QString &strTitile, \
                     int graphCnt, Qt::Orientation ori = Qt::Horizontal, MPlotTableType tableType = mGraph);

    /**
     * @brief addGraphByRect 在当前矩形上添加图形
     * @param rect
     * @param tableType
     * @return
     */
    bool addGraphsOnRect(QCPAxisRect *rect, MPlotTableType tableType = mGraph);

    /**
     * @brief resetGraphsByRect 重置图形
     * @param rect
     */
    void resetGraphsByRect(QCPAxisRect *rect);

    /**
     * @brief rectCount 获取矩形个数
     * @return
     */
    int rectCount() const;
    /**
     * @brief axisRectByIndex 通过序号找矩形
     * @param index
     * @return
     */
    QCPAxisRect * axisRectByIndex(const int index);

    /**
     * @brief useingGraphs 通过矩形序号获取使用图形与未使用的图形个数
     * @param nRectIndex
     * @param item
     */
    void useingGraphs(int nRectIndex, QPair<int, int>&item);

    /**
     * @brief graphsCount 获取当前矩形图形个数
     * @param nRectIndex
     * @return
     */
    int graphsCount(const int nRectIndex);

    /**
     * @brief getOneUnseGraph 获取当前矩形下一个图形
     * @param nRectIndex      矩形序号
     * @return
     */
    QCPGraph* getOneUnseGraph(int nRectIndex);

    /**
     * @brief clearData 清除当前矩形所有图形下的数据
     * @param nRectIndex
     */
    void clearData(const int nRectIndex);

    /**
     * @brief setData 从当前矩形取出图形,设置数据
     * @param nRectIndex
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值