2016-03-04 2 views
0

У меня есть Ubuntu, и я работаю с IDE QT по адресу C++. я буду делать паузу и возобновить QTimer для exampe:Как приостановить и перезапустить Qtimer на QT

void Ordonnancer_les_taches::on_pushButton_clicked() 
{ 

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

Как Pause и как Restart? не дают мне exmple

+0

Прочтите [руководство пользователя] (https://doc.qt.io/qt-5/qtimer.html) –

+0

@ SławomirDubiel дайте мне exemple, пожалуйста – StackTok

ответ

4

Поскольку нет выделенного способа добиться такого поведения, вы могли бы сделать что-то вроде этого (вы можете переместить его в подкласс PausableTime или так):

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

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

Конечно же, вы необходимо снова отрегулировать интервал в слоте таймаута.

+0

@StackTok Чтобы сделать паузу, сделайте, как описано в этом ответе. Чтобы остановить вызов ['QTimer :: stop'] (http://doc.qt.io/qt-5/qtimer.html#stop). Для перезапуска просто вызовите ['QTimer :: start'] (http://doc.qt.io/qt-5/qtimer.html#start-1). – thuga

+0

@thuga, если я остановлюсь и начну, Qtimer incrument два на два !!!! – StackTok

+0

@StackTok Что это значит, увеличивайте два на два? – thuga

 Смежные вопросы

  • Нет связанных вопросов^_^