#include "ziwai.h" #include "ui_ziwai.h" #include #include #include extern int i=0; ziwai::ziwai(QWidget *parent) : QWidget(parent) , ui(new Ui::ziwai) { ui->setupUi(this); timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(updateCountdown())); remainingSeconds = 1800; //qidong(); ui->radioButton->isChecked(); // ui->label->setFixedSize(300,300); ui->pushButton->setFixedSize(76,37); ui->pushButton_2->setFixedSize(76,37); this->setWindowFlags(Qt::FramelessWindowHint); // 隐藏标题栏 this->setFixedSize(437,292); this->setWindowFlags(Qt::FramelessWindowHint);//去除窗口边框 setAttribute(Qt::WA_TranslucentBackground); } ziwai::~ziwai() { delete ui; } bool ziwai::qidong() { foreach (const QSerialPortInfo &info,QSerialPortInfo::availablePorts()) { QSerialPort serial; serial.setPort(info); if(serial.open(QIODevice::ReadWrite)) { // SerialPort.setPortName(info.portName()); SerialPort.setPortName("COM5"); qDebug()<start(1000); } //取消 void ziwai::on_pushButton_clicked() { // QString write="A0 01 00 A1"; // writedata(write); QByteArray hexData = QByteArray::fromHex("A00100A1"); SerialPort.write(hexData); remainingSeconds=1800; timer->stop(); this->close(); ui->pushButton_2->setText("开始"); ui->pushButton_2->setEnabled(true); } void ziwai::updateCountdown(){ remainingSeconds--; if (remainingSeconds == 0) { timer->stop(); ui->label->setText("杀菌结束"); QByteArray hexData = QByteArray::fromHex("A00100A1"); SerialPort.write(hexData); if(i==0){ qDebug()<<"马上关机"; timer->stop(); this->close(); remainingSeconds = 1800; QTimer::singleShot(500,this,[=](){ QString program = "C:/WINDOWS/system32/shutdown.exe"; QStringList arguments; arguments << "-s"; QProcess *myProcess = new QProcess(); myProcess->start(program, arguments); }); } } else { QString timeText = QString::number(remainingSeconds) + "s"; ui->label->setText(timeText); } }; //开始 void ziwai::on_pushButton_2_clicked() { QByteArray hexData = QByteArray::fromHex("A00101A2"); SerialPort.write(hexData); ui->pushButton_2->setText("已开始"); ui->pushButton_2->setEnabled(false); QTimer::singleShot(10,this,[=](){dingshiqi();}); } void ziwai::on_radioButton_clicked() { if(!ui->radioButton->isChecked()) { i=1; qDebug()<<"不会关机"; } if(ui->radioButton->isChecked()) { i=0; qDebug()<<"会关机"; } }