1、概述
 源码放在文章末尾
CPU内存显示控件
 项目包含的功能如下:
- 实时显示当前CPU占用率。
- 实时显示内存使用情况。
- 包括共多少内存、已使用多少内存。
- 全平台通用,包括windows、linux、ARM。
- 发出信号通知占用率和内存使用情况等,以便自行显示到其他地方。
下面是demo演示:
 
项目部分代码如下所示:
#ifndef CPUMEMORYLABEL_H
#define CPUMEMORYLABEL_H/*** CPU内存显示控件 * 1. 实时显示当前CPU占用率。* 2. 实时显示内存使用情况。* 3. 包括共多少内存、已使用多少内存。* 4. 全平台通用,包括windows、linux、ARM。* 5. 发出信号通知占用率和内存使用情况等,以便自行显示到其他地方。*/#include <QLabel>class QProcess;#ifdef quc
class Q_DECL_EXPORT CpuMemoryLabel : public QLabel
#else
class CpuMemoryLabel : public QLabel
#endif{Q_OBJECTQ_PROPERTY(bool showText READ getShowText WRITE setShowText)public:explicit CpuMemoryLabel(QWidget *parent = 0);~CpuMemoryLabel();private:quint64 totalNew, idleNew, totalOld, idleOld;quint64 cpuPercent;     //CPU百分比quint64 memoryPercent;  //内存百分比quint64 memoryAll;      //所有内存quint64 memoryUse;      //已用内存quint64 memoryFree;     //空闲内存QTimer *timerCPU;       //定时器获取CPU信息QTimer *timerMemory;    //定时器获取内存信息QProcess *process;      //执行命令行bool showText;          //自己显示值private slots:void getCPU();          //获取cpuvoid getMemory();       //获取内存void readData();        //读取数据void setData();         //设置数据public://默认尺寸和最小尺寸QSize sizeHint() const;QSize minimumSizeHint() const;//获取和设置是否显示文本bool getShowText() const;void setShowText(bool showText);public Q_SLOTS://开始启动服务void start(int interval);//停止服务void stop();Q_SIGNALS://文本改变信号void textChanged(const QString &text);//cpu和内存占用情况数值改变信号void valueChanged(quint64 cpuPercent, quint64 memoryPercent, quint64 memoryAll, quint64 memoryUse, quint64 memoryFree);
};#endif // CPUMEMORYLABEL_H