如何在QT上暂停和重启Qtimer

时间:2016-03-04 11:13:18

标签: c++ qt signals-slots qtimer

我有一个Ubuntu,我在QT上使用IDE C++。 我将暂停并恢复Qtimer,例如:

void Ordonnancer_les_taches::on_pushButton_clicked()
{

    connect(&dataTimer, SIGNAL(timeout()), this, SLOT(l_odonnancement()));
    dataTimer.start(5000);
}

如何Pause以及如何Restart? 给我一个例子

1 个答案:

答案 0 :(得分:7)

由于没有专门的方法来实现这种行为,你可以这样做(你可以把它移到子类PausableTime左右):

void pause() {
    int remaining = dataTimer.remainingTime();
    dataTimer.stop();
    dataTimer.setInterval(remaining);
}

void resume() {
    dataTimer.start();
}

当然,您需要再次调整超时时间间隔。