2016-03-04 4714 views
0

我有一个Ubuntu,并且我正在使用IDE QTC++上。 我会暂停和恢复Qtimer,为exampe:如何暂停和重新启动QT Qtimer

void Ordonnancer_les_taches::on_pushButton_clicked() 
{ 

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

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

+0

阅读[手册](https://doc.qt.io/qt-5/qtimer.html) – 2016-03-04 11:15:47

+0

@SławomirDubiel给我一个例子请 – 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

相关问题