void MainWindow::updateLcd() { int remainHour,remainMin,remainSec; remainHour=(timer->interval()-elapsedTimer.elapsed())/3600000; remainMin=((timer->interval()-elapsedTimer.elapsed())/1000-remainHour*3600)/60; remainSec=(timer->interval()-elapsedTimer.elapsed())/1000-remainHour*3600-remainMin*60; if(remainHour+remainMin+remainSec<=0){ uiTimer->stop(); ui->lcdNumber_4->display(0); ui->lcdNumber->display(0); ui->lcdNumber_2->display(0); ui->lcdNumber_3->display(0); ui->lcdNumber_8->display(0); ui->lcdNumber_5->display(0); ui->lcdNumber_6->display(0); ui->lcdNumber_7->display(0); isCounting=false; firstStart=true; ui->progressBar->setValue(100); timeIsOut(); return; } double ms=timer->interval()-elapsedTimer.elapsed()-remainHour*3600000-remainMin*60000-remainSec*1000; ui->lcdNumber_4->display(ms); ui->lcdNumber->display(remainSec); ui->lcdNumber_2->display(remainMin); ui->lcdNumber_3->display(remainHour); ui->progressBar->setValue(((double)elapsedTimer.elapsed()/(double)timer->interval())*100); int remainTotalSec=totalMS-elapsedTimer.elapsed(); remainHour=remainTotalSec/3600000; remainMin=(remainTotalSec/1000-remainHour*3600)/60; remainSec=remainTotalSec/1000-remainHour*3600-remainMin*60; ms=remainTotalSec-remainHour*3600000-remainMin*60000-remainSec*1000; ui->lcdNumber_8->display(ms);//ms ui->lcdNumber_5->display(remainSec);//s ui->lcdNumber_6->display(remainMin);//m ui->lcdNumber_7->display(remainHour);//h ui->progressBar_2->setValue(((double)elapsedTimer.elapsed()/(double)totalMS)*100); }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); timer=new QTimer(); uiTimer=new QTimer(); connect(timer,SIGNAL(timeout()),this,SLOT(timeIsOut())); connect(uiTimer,SIGNAL(timeout()),this,SLOT(updateLcd())); hms t; t.h=t.m=t.s=t.ms=0; segTime.push_back(t); ui->listWidget->addItem(QString::number(ui->listWidget->count()+1)); ui->spinBox->setEnabled(false); ui->spinBox_2->setEnabled(false); ui->spinBox_3->setEnabled(false); ui->progressBar->setValue(0); ui->progressBar_2->setValue(0); }
foreach (const QSerialPortInfo &serialPortInfo, QSerialPortInfo::availablePorts()) { str=serialPortInfo.portName(); ui->comboBox_2->addItem(str); } ui->textEdit->setText(str); serial->setPortName("COM3"); serial->setBaudRate(QSerialPort::Baud9600); serial->setDataBits(QSerialPort::Data8); serial->setParity(QSerialPort::NoParity); serial->setStopBits(QSerialPort::OneStop); serial->setFlowControl(QSerialPort::NoFlowControl); serial->open(QIODevice::ReadWrite); serial->write("resp8080\n"); createMenus(); connect(serial,SIGNAL(readyRead()),this,SLOT(serialReceived())); connect(timer,SIGNAL(timeout()),this,SLOT(timeIsOut())); } MainWindow::~MainWindow() { vBox->close(); vBox2->close(); delete ui; delete vBox; delete vBox2; serial->close(); } void MainWindow::timeIsOut(){