#pragma once #include #include #include "DataCollectionThread.h" #include "../TypeDefine.h" #include "../XNCustomPlot.h" class DataCollectionWidget : public QWidget { Q_OBJECT public: explicit DataCollectionWidget(QWidget *parent = nullptr); ~DataCollectionWidget(); signals: void stopDataCollection(); public slots: void onSetCurrentTabIndex(int index); void onUpdateDataCollectionTime(const unsigned int newTime); void onDataCollectionStatus(const bool &status, const QString &filePath); private: void setupTabDataCollection(); // 设置数据采集标签页的函数声明 void setupTabDataCollectionLeftPanel(QSplitter *horizontalSplitter); // 设置数据采集左面板的函数声明 void setupTabDataCollectionRightPanel(QSplitter *horizontalSplitter); // 设置数据采集右面板的函数声明 void openDataCollectionFile(const QString &filePath); void setupPlotWidget(XNCustomPlot *customPlot); private: unsigned int dataPlotIndex; // 数据采集索引 QMap> collectionData; QMap> referenceData; int currentTabIndex = 0; // 当前选中的标签页索引 QCPItemTracer *m_tracer; QCPItemText *m_coordLabel; };