我写了一个定时器来1秒循环显示数字1234 由按钮START来开始播放,然后按钮STOP可以停止显示,现在出现的问题是:第一次START,然后按下STOP之后,再按START ,就一直在2个数字徘徊显示,我看了2天也没发现逻辑问题,特地求教~~~
MAINWINDOW.CPP
QTimer *timer = new QTimer(); //定义定时器
void MainWindow::gotoshow() //按了START,就开始1秒轮放数字1234
{
if(pic_number == 1)
{
ui->label->setText(tr("1"));
}
if(pic_number == 2)
{
ui->label->setText(tr("2"));
}
if(pic_number == 3)
{
ui->label->setText(tr("3"));
}
if(pic_number == 4)
{
ui->label->setText(tr("4"));
pic_number = 0;
}
pic_number++;
}
void MainWindow::on_pushButton_1_clicked() //START 连接定时器的信号,槽,定时为1秒
{
connect(timer,SIGNAL(timeout()),this,SLOT(gotoshow()));
timer->start(1000);
ui->pushButton->hide(); //这个可以忽略
}
void MainWindow::on_pushButton_2_clicked() //STOP 关掉定时器 显示当前数字
{
timer->stop();
ui->pushButton->show(); //这个可以忽略
}