代码拉取完成,页面将自动刷新
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QProcess>
#include "mycmd.h"
#include "mycode.h"
#include "deviceinfotool.h"
#include <QDebug>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
init();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::init()
{
timer = new QTimer();
timer->start(1000);
statusLabel = new QLabel(ui->statusbar);
statusLabel->resize(500,ui->statusbar->height());
connect(MyCmd::getInstance(),&MyCmd::notifyCmdInfo,this,&MainWindow::displayInfoToText); //链接显示命令输出信息
ui->bar_cpu->setRange(0,100);
ui->bar_cpu->setValue(0);
ui->bar_gpu->setRange(0,100);
ui->bar_gpu->setValue(0);
ui->bar_battery->setRange(0,100);
ui->bar_battery->setValue(0);
ui->bar_temperature->setRange(0,50);
ui->bar_temperature->setValue(0);
zk::BarInfo barinfo;
connect(timer,&QTimer::timeout,this,[&](){
if(isConnnected == false)
{
return;
}
setInfoToDisPlay(); //显示信息
barinfo = DeviceInfoTool::getInstance() ->getBarInfo();
ui->bar_battery->setValue(barinfo.batterylevel);
ui->bar_temperature->setValue(barinfo.batterytemp/10.0);
ui->bar_temperature->setFormat("%v℃");
});
connect(timer,&QTimer::timeout,this,[&](){
QStringList l = MyCmd::getInstance()->runCmd("adb devices").split('\n');
if(l.size() < 4)
{
statusLabel->setText("等待设备连接...");
setInfoEmpty();
isConnnected = false;
}
else if(l.size() == 4 && isConnnected == false)
{
statusLabel->setText(QString("%1 已连接").arg(l.value(1).simplified().split(' ').value(0)));
isConnnected = true;
}
else if(l.size() > 4)
{
statusLabel->setText(QString("检测到多个设备已连接,暂不支持多设备..."));
setInfoEmpty();
isConnnected = false;
}
});
}
void MainWindow::displayInfoToText(QString& s)
{
ui->text_cmdout->append(s);
}
void MainWindow::setInfoToDisPlay()
{
zk::DeviceInfo deviceinfo = DeviceInfoTool::getInstance()->getDeviceInfo();
ui->lb_brand->setText("厂商:" + deviceinfo.brand);
ui->lb_model->setText("型号:" + deviceinfo.model);
ui->lb_version->setText("版本:" + deviceinfo.version);
ui->lb_cpu->setText("CPU:" + deviceinfo.cpuinfo);
ui->lb_repo->setText("分辨率:" + deviceinfo.repo);
}
void MainWindow::setInfoEmpty()
{
ui->lb_brand->setText("厂商:");
ui->lb_model->setText("型号:");
ui->lb_version->setText("版本:");
ui->lb_cpu->setText("CPU:");
ui->lb_repo->setText("分辨率:");
ui->bar_cpu->setValue(0);
ui->bar_gpu->setValue(0);
ui->bar_battery->setValue(0);
ui->bar_temperature->setValue(0);
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。