《QT实用小工具·七》CPU内存显示控件

1、概述
源码放在文章末尾

CPU内存显示控件
项目包含的功能如下:

  1. 实时显示当前CPU占用率。
  2. 实时显示内存使用情况。
  3. 包括共多少内存、已使用多少内存。
  4. 全平台通用,包括windows、linux、ARM。
  5. 发出信号通知占用率和内存使用情况等,以便自行显示到其他地方。

下面是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_OBJECT

    Q_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();          //获取cpu
    void 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

源码下载

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-03 04:40:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-03 04:40:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-03 04:40:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-03 04:40:04       18 阅读

热门阅读

  1. maya 遍历所有子节点

    2024-04-03 04:40:04       13 阅读
  2. 关于Kafka消息队列的深入学习

    2024-04-03 04:40:04       15 阅读
  3. 蓝桥杯_数学模板

    2024-04-03 04:40:04       14 阅读
  4. 2021年社招面试

    2024-04-03 04:40:04       16 阅读
  5. 剑指offer打卡 JZ10 斐波那契数列

    2024-04-03 04:40:04       14 阅读
  6. 理解MYSQL底层索引

    2024-04-03 04:40:04       17 阅读
  7. 搜索引擎-01-概览

    2024-04-03 04:40:04       14 阅读
  8. 父类子类继承关系

    2024-04-03 04:40:04       14 阅读