#ifndef QMYCUSTOMPLOT_H #define QMYCUSTOMPLOT_H #include "qcustomplot.h" #include "LogIO.h" #pragma execution_character_set("utf-8") class QMyCustomPlot : public QCustomPlot { Q_OBJECT public: QMyCustomPlot(QWidget *parent = nullptr, QString strSlfName="", QString strWellName="", QString strTrackName="", QString strLineName=""); virtual ~QMyCustomPlot() { } protected: virtual void mouseMoveEvent(QMouseEvent *event); public: QString m_strUuid; QString m_strSlfName; QString m_strWellName; QString m_strTrackName; QString m_strLineName; // int m_iX1, m_iX2; int m_iY1, m_iY2; //其他曲线 QString m_newFillType; QString m_newTargetLine; QColor m_newColor; QString m_newLithosImage; QString m_newHeadFill; float m_vMin; float m_vMax; QColor m_frontColor;//岩性前景色 QColor m_backColor;//岩性背景色 QContextMenuEvent *m_event; bool m_bDrawRect = true; public: void init(QString strName, QVector x, QVector y); void addImageToPlot(double left_Low, double right_Hight, const QString imagePath); public slots: void s_LineClicked(int index); void onResetZoom(); void removeSelectedGraph(); void removeSelectedGraphByTitle(); void s_Raise(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); //属性 //左刻度 void s_ChangeLeftScale(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newLeftScale); //右刻度 void s_ChangeRightScale(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double newRightScale); //线颜色 void s_ChangeLineColor(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QColor lineColor); //线宽 void s_ChangeLineWidth(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, double width); //线型 void s_ChangeLineStyle(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, Qt::PenStyle lineStyle); //岩性填充-不填充 void s_ClearFillMode(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName); //岩性填充-填充 void s_ChangeFillMode(QString strSlfName, QString strWellName, QString strTrackName, QString strLineName, QString newFillType, QString newTargetLine, QColor newColor, QString newLithosImage, QString newHeadFill, float vMin, float vMax, QColor frontColor, QColor backColor); void onAddRect(); public: // virtual void mousePressEvent(QMouseEvent *event); virtual void contextMenuEvent(QContextMenuEvent *event); private: }; #endif // QMYCUSTOMPLOT_H