HX_CoalFlowDetect/view/coaldistributbarchartwidget.h

68 lines
1.3 KiB
C++

#ifndef COALDISTRIBUTBARCHARTWIDGET_H
#define COALDISTRIBUTBARCHARTWIDGET_H
#include <QDateTime>
#include <QObject>
#include <QSettings>
#include <QTimer>
#include <QWidget>
#include <QDateTimeAxis>
#include <QNetworkProxy>
#include <QTcpSocket>
#include <QtCharts/QBarSeries>
#include <QtCharts/QBarSet>
#include <QtCharts/QCategoryAxis>
#include <QtCharts/QChartView>
#include <QtCharts/QValueAxis>
QT_CHARTS_USE_NAMESPACE
class CoalDistributBarChartWidget : public QWidget {
Q_OBJECT
public:
explicit CoalDistributBarChartWidget(QWidget* parent = nullptr);
~CoalDistributBarChartWidget();
private slots:
void updateChart();
private:
void initializeChart();
void setupTimer();
/**
* @brief connectTCPSocket 连接到TCP服务
*/
void connectTCPSocket();
/**
* @brief getCoalRatioByTCPSocket通过TCP协议获取煤量占比
* @return 煤量占比
*/
int getCoalRatioByTCPSocket();
/**
* @brief createModbusTcpRequest 构建ModbusTCP报文
* @return 返回报文
*/
QByteArray createModbusTcpRequest();
private:
QChart* m_chart;
QChartView* m_chartView;
QBarSeries* m_series;
QTimer* m_timer;
QDateTimeAxis* m_axisX;
QBarSet* m_set;
QTcpSocket* m_tcpSocket;
QSettings* m_systemSetting;
};
#endif // COALDISTRIBUTBARCHARTWIDGET_H