1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| #ifndef MAINWINDOW_H
| #define MAINWINDOW_H
|
| #include <QMainWindow>
| #include <QChart>
| #include <QLineSeries>
| #include <QBarSeries>
| #include <QTimer>
| #include <QtSql>
| #include <memory>
|
| QT_CHARTS_USE_NAMESPACE
|
| class MainWindow : public QMainWindow {
| Q_OBJECT
| public:
| explicit MainWindow(QWidget *parent = nullptr);
| ~MainWindow();
|
| private slots:
| void updateSystemStats();
|
| private:
| // 数据库相关
| QSqlDatabase m_db;
| bool initDatabase();
| std::unique_ptr<QTimer> m_timer;
|
| // 监控相关
| qint64 m_lastIdle = 0;
| qint64 m_lastTotal = 0;
| QMap<QString, qint64> m_lastDiskStats;
|
| // 图表相关
| QChart *m_cpuChart;
| QLineSeries *m_cpuSeries;
| QChart *m_diskChart;
| QBarSeries *m_diskSeries;
| QMap<QString, QBarSet*> m_diskBarSets;
|
| // 守护进程相关
| bool isAlreadyRunning();
| };
|
|
| #endif // MAINWINDOW_H
|
|