Qt:qtimer的时间间隔不正确

时间:2020-07-02 08:45:55

标签: c++ qt

我想在mainWindow上显示时间,实际上10秒过去了,程序中经过了1小时。

mainWindow.cpp

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
ui.setupUi(this);

myTimer = new QTimer(this);
connect(ui.toolButton_2, SIGNAL(clicked()), this, SLOT(start_stimulation()));
connect(myTimer, SIGNAL(timeout()), this, SLOT(dealTimeOut()));
...
}

void MainWindow::start_stimulation()
{
    qDebug() << ma.currentTime.toString("MM-dd HH:mm") << endl;
    if (myTimer->isActive() == false)
    {
        myTimer->start(100);
    }
}


void MainWindow::dealTimeOut()
{
    QString str = ma.currentTime.toString("MM-dd HH:mm");
    //update time
    ma.currentTime = ma.currentTime.addSecs(36 * ma.move_speed);
    ui.timedisplay1->setText(str);
    ui.timedisplay2->setText(str);

    
}

但是实际上,当它经过10秒时,程序中的时间仅经过10分钟左右。

我真的很困惑。

感谢您的帮助。

0 个答案:

没有答案