Linux下獲取系統(tǒng)的磁盤使用情況、內(nèi)存使用情況使用QT界面進行顯示

      網(wǎng)友投稿 1026 2025-04-01

      一、環(huán)境介紹

      操作系統(tǒng):? ubuntu 18.04 64位? PC機

      QT版本:? 5.12

      二、運行效果圖

      三、核心代碼

      mainwindow.cpp代碼:

      #include "widget.h"

      #include "ui_widget.h"

      #include

      #include

      #include

      #include

      Widget::Widget(QWidget *parent)

      : QWidget(parent)

      , ui(new Ui::Widget)

      {

      ui->setupUi(this);

      QTimer::singleShot(1000, this, SLOT(GetSystemInfo()));

      }

      void Widget::GetSystemInfo(void)

      {

      /*1. 獲取當前系統(tǒng)磁盤使用情況*/

      /*

      * 格式: /dev/sda1 49G 38G 9.3G 81% /

      */

      QProcess process;

      process.start("df -h");

      process.waitForFinished();

      QByteArray output = process.readAllStandardOutput();

      QString str_output = output;

      str_output=str_output.mid(str_output.indexOf("/dev/sda1"));

      //得到: /dev/sda1 49G 38G 9.3G 81%

      str_output=str_output.section('/',0,2);

      str_output=str_output.section(' ',1);

      //將多個空格換成單個空格

      str_output=str_output.replace(QRegExp("[\s]+"), " ");

      QString text;

      text="磁盤總?cè)萘? "+str_output.section(' ',1,1)+"\n";

      text+="已用: "+str_output.section(' ',2,2)+"\n";

      text+="可用: "+str_output.section(' ',3,3);

      //獲取百分比

      ui->progressBar_rom->setValue(str_output.section(' ',4,4).section('%',0,0).toInt());

      ui->label_ROM->setText(text);

      /*2. 獲取當前系統(tǒng)內(nèi)存使用情況*/

      struct sysinfo s_info;

      if(sysinfo(&s_info)==0)

      {

      text=tr("總內(nèi)存: %1 KB\n").arg(s_info.totalram/1024);

      text+=tr("未使用內(nèi)存: %1 KB\n").arg(s_info.freeram/1024);

      text+=tr("交換區(qū)總內(nèi)存: %1 KB\n").arg(s_info.totalswap/1024);

      text+=tr("交換區(qū)未使用內(nèi)存: %1 KB\n").arg(s_info.freeswap/1024);

      text+=tr("系統(tǒng)運行時間: %1s").arg(s_info.uptime);

      ui->label_RAM->setText(text);

      }

      QTimer::singleShot(1000, this, SLOT(GetSystemInfo()));

      }

      Widget::~Widget()

      {

      delete ui;

      }

      mainwindow.h代碼:

      #ifndef WIDGET_H

      #define WIDGET_H

      #include

      QT_BEGIN_NAMESPACE

      namespace Ui { class Widget; }

      QT_END_NAMESPACE

      class Widget : public QWidget

      {

      Q_OBJECT

      public:

      Widget(QWidget *parent = nullptr);

      ~Widget();

      private slots:

      void GetSystemInfo(void);

      private:

      Ui::Widget *ui;

      };

      #endif // WIDGET_H

      Linux下獲取系統(tǒng)的磁盤使用情況、內(nèi)存使用情況使用QT界面進行顯示

      linux Qt

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:如何僅在Excel中將值粘貼到可見/過濾的單元格?
      下一篇:Excel如何去除表格虛線 Excel去除表格虛線方法
      相關(guān)文章
      亚洲AV一区二区三区四区| 中文字幕乱码亚洲精品一区| 亚洲国产无套无码av电影| 国产黄色一级毛片亚洲黄片大全| 亚洲高清免费视频| 亚洲国产精品福利片在线观看| 亚洲午夜无码毛片av久久京东热| 中文字幕亚洲一区| 亚洲精品国产综合久久久久紧| 亚洲日本中文字幕| 亚洲成a人无码av波多野按摩| 亚洲导航深夜福利| 国产偷v国产偷v亚洲高清| 国产精品亚洲一区二区无码| 亚洲欧洲日本精品| 亚洲Av综合色区无码专区桃色| 极品色天使在线婷婷天堂亚洲 | 亚洲国产精品无码成人片久久| 国产成人亚洲综合网站不卡| 国产亚洲漂亮白嫩美女在线| 亚洲国产精品线观看不卡| 亚洲人成网站影音先锋播放| 亚洲国产精品一区二区九九| 亚洲欧美黑人猛交群| 亚洲欧洲日本国产| 亚洲国产高清在线| 久久综合亚洲色HEZYO国产| 亚洲av中文无码乱人伦在线观看| 99ri精品国产亚洲| 亚洲大成色www永久网站| 亚洲成A人片在线观看无码3D| 亚洲爆乳精品无码一区二区| 亚洲美女自拍视频| 亚洲另类自拍丝袜第1页| 国外亚洲成AV人片在线观看| jzzijzzij在线观看亚洲熟妇| 亚洲1区1区3区4区产品乱码芒果| 国产精品亚洲一区二区三区在线| 免费在线观看亚洲| 亚洲熟妇无码一区二区三区| 亚洲精品乱码久久久久久下载|