代码拉取完成,页面将自动刷新
同步操作将从 MeetOne/QCustomPlotChart 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef CHARTOPERATE_H
#define CHARTOPERATE_H
#include <QObject>
#include <QFont>
#include <QSharedPointer>
#include <QMessageBox>
#include <QInputDialog>
#include <QPushButton>
#include <QMouseEvent>
#include <QPen>
#include <QMenu>
#include <QAction>
#include <QLabel>
#include <QComboBox>
#include <QLineEdit>
#include <QPushButton>
#include "global.h"
#include "plotchartutils.h"
#include "dataoperate.h"
#include "qcustomplot.h"
#define DEFAULT_YVALUE 1
#define COLOR_CYAN QColor(25, 187, 180)
#define COLOR_BLUE QColor(0, 129, 255)
class ChartOperate : public QObject
{
Q_OBJECT
public:
explicit ChartOperate(QCustomPlot *plot);
signals:
public slots:
// 设置Chart显示
void selectionChanged();
void mousePress(QMouseEvent* event);
void mouseMove(QMouseEvent* event);
void mouseRelease(QMouseEvent* event);
void mouseWheel();
void contextMenuRequest(QPoint pos);
void plotPointClick(QCPAbstractPlottable* plottable, int dataIndex, QMouseEvent* event);
void legendPointClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event);
void legendPointDBClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event);
// 鼠标右键
void actionChtAddLine();
void actionChtAddPt();
void actionChtDelLine();
void actionChtDelPt();
void removeAllGraphs();
void actionLegendUp();
void actionLegendDown();
void actionChtMidInsertLine();
void modifyChtLegendName();
// 锁定图表
void actionLockCht();
// 下拉框选中
void selectTextChanged(int index);
// 按钮按下
void saveBtnSlot();
public:
// 生成初始化空白图表
void makeInitChart();
// 图表其他属性设置
void initChartProperty();
// 信号槽绑定
void initSignals();
// 获取初始化数据
void getInitDataAndAddLine();
// 设置标题名称
void setChartTitle(QString text);
// 坐标轴设置
void setChartAxis();
// 添加序列
void addChartLine(int layerID, QString UUID, QString name, QVector<double> pointXList, QVector<double> pointYList);
// 修改序列
void modifyChartLine();
// 删除序列
void delChartLine();
// 添加点
void addChartPoint();
// 修改点
void modifyChartPoint(QString UUID, int pointIndex, double xValue, double yValue);
// 删除点
void delChartPoint(double sortKey);
// 删除所有线
void delAllChart();
// 添加文字
void addSeriesText();
// 添加层ID与UUID对应关系
void delApointLayerID(QString UUID);
// 根据UUID获取层
int getLayerIDByUUID(QString UUID);
void chkCntPointXAxis(int cntXValue);
// 获取当前线的最大点横坐标
int getCntLineMaxXAxis();
// 添加点固定点Vector的值
void addFixedVector(int lineIndex, QVector<double> &x, QVector<double> &y, QVector<double> &originalY);
// 清空图表
void clearChart();
// 重新渲染Chart
void reRenderChart(QList<ConfData> listConfData);
// // 添加数据到全局数据
// void addChartLineDataToConf(int index, QString name, QPointF pointF);
// 打开文件
void openANewFile(QString fileName);
// 保存当前数据
void saveCntDataToFile();
// 修改当前文件名
bool modifyFileName(QString fileName);
// 文件另存为
void saveAnOtherFile(QString fileName);
// 是否显示图例
void isShowLegend(bool isShow);
// 设置label
void setLabelPos(QLabel *label);
// 设置选中线的样式
void setSelectChtLineStyle(int sceneIndex);
// 下拉选择文件
QString setIntactFilePath(QString fileName);
// 重新渲染下拉的框
void reloadSelect(QString cntName);
void setCBoxFiles(QComboBox *cboxFiles);
void setCBoxInitSetting();
// 设置保存的值
void setSaveTextEdit(QLineEdit *saveEdit);
void setSaveButton(QPushButton *saveBtn);
// 获取中间值
int getLineMidValue(QString UUID);
QMap<QString, int> getAllLineMidValue();
private:
void setSaveOtherFile();
void setSaveNowFile();
private:
QCustomPlot *m_plot;
DataOperate *m_data;
QList<ConfData> m_listConfData; // 全部数据
int m_XScale; // X缩放的值
int m_YScale; // Y缩放的值
int m_xMinRange; // X最小值
int m_xMaxRange; // X最大值
int m_yMinRange; // Y最小值
int m_yMaxRange; // Y最大值
bool m_changeFlag; // 是否更改图形数据
QList<QString> m_UUIDAndID; // UUID与层的对应关系
QString m_cntLineUUID; // 当前点UUID
int m_cntPointIndex; // 当前点的索引
QPointF m_cntLinePoint; // 当前点的坐标
// 拖拽
int m_cntDargIndex; // 当前拖拽点的索引
QString m_cntDragUUID; // 当前拖拽点的UUID
bool m_dragFlag; // 是否能拖拽标识
QLabel *m_lblPos; // 界面点坐标
QComboBox *m_cboxFiles; // 文件下拉
QLineEdit *m_saveEdit; // 保存文件名
QPushButton *m_saveBtn; // 保存文件按钮
QPoint m_mousePos; // 鼠标右键添加点的坐标
int m_cntSelectScene; // 当前选择的场景索引
bool m_isUpFlag; // 删除线后是否上移重绘
bool m_legendIsShow; // 设置legend是否显示, 默认显示
QCPPlottableLegendItem *m_cntLegendItem; // 当前选中legend
QString m_cntLegendUUID; // 修改图例对应图表的UUID
QString m_lastFileName; // 上一次文件名
int m_lastCntIndex; // 记录上一次的索引
QList<QString> m_cBoxFileNames; // cBox的值
bool m_selectFlag; // 下拉标识
};
#endif // CHARTOPERATE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。