&1游戏时间设置
绿色进度条可以随我时间控制
//获取编辑框的时间,.toInt(),转成int
gameTime=ui->comboBox->currentText();
gametime=gameTime.toInt();
qDebug()<<"gametime="<<gametime;
```获取下拉框的时间
```cpp
void MainWindow::timerEvent(QTimerEvent *e)
{
if(e->timerId()==gameTimerId)//游戏时间
{
gametime--;
//设置进度条
ui->progressBar->setValue(gametime);
if(0==gametime)//时间到
{
killTimer(gameTimerId);
QMessageBox::information(this,"失败","时间到了!");
//overMovie.start();
}
}
}
```cpp
` int randStr;//随机数
int gameTimerId;//游戏时间定时器Id
int overTimer;//失败时间定时器id
int winTimer; //成功时间定时器id
QString resultStr;//结果数``
//进度条变化
void MainWindow::timerEvent(QTimerEvent *e)
{
if(e->timerId()==gameTimerId)//游戏时间
{
gametime--;
//设置进度条
ui->progressBar->setValue(gametime);
if(0==gametime)//时间到
{
killTimer(gameTimerId);
QMessageBox::information(this,"失败","时间到了!");
//overMovie.start();
}
}
}
`
进度图形展示
```cpp
``//开始游戏
void MainWindow::on_pushButton_3_clicked()
{
//获取编辑框的时间,.toInt(),转成int
gameTime=ui->comboBox->currentText();
gametime=gameTime.toInt();
qDebug()<<"gametime="<<gametime;
ui->stackedWidget->setCurrentWidget(ui->page_4);
int num;
//从0开始计时,到现在的秒数作为种子
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
while((num=qrand()%10000)>999);
QString randstr=QString::number(num);
int randStr=randstr.toInt();
qDebug()<<"randStr="<<randStr;
//设置进度条
ui->progressBar->setMinimum(0);//最小值
ui->progressBar->setMaximum(gametime);//最大值
ui->progressBar->setValue(gametime);//当前值
gameTimerId=0;
gameTimerId=startTimer(1000);//1秒作为时间间隔
resultStr.clear();
ui->textEdit->clear();
}
```cpp
`//数字处理,判断数字大小
void MainWindow::dealNum()
{
//获取信号接受者
QObject *mySender=sender();
//转化为按钮类型
QPushButton *p=(QPushButton *)mySender;
if(NULL!=p)
{
//获取按钮内容
QString numStr=p->text();
resultStr+=numStr;
//数字不能以零开始
if(resultStr.size() == 0 && resultStr=="0")
{
resultStr.clear();
}
if(resultStr.size()<4)
{
ui->lineEdit_2->setText(resultStr);
}
if(resultStr.size()==4)//数字到达第四位时
{
if(resultStr>randStr)
{
ui->lineEdit_2->setText("数字大了点");
}
else if(resultStr<randStr)
{
ui->lineEdit_2->setText("数字小了点");
}
else if(resultStr==randStr)
{
ui->lineEdit_2->setText("恭喜答对了!");
}
}
}
}``
```//删除数字
```cpp
void MainWindow::on_pushButton_22_clicked()
{
if(resultStr.size()==1)
{
resultStr.clear();
ui->textEdit->clear();
}
else {
resultStr.chop(1);//截断最后一位字符
resultStr[resultStr.size()-1]='\0';
ui->textEdit->setText(resultStr);
}
}