qtimer定時器怎么用?
Qtimer定時器提供了重復和單次觸發信號的定時器。
qtimer為定時器提供了一個高級別的編程接口。
很容易使用:
首先,創建一個qtimer,連接timeout()信號到適當的槽函數,并調用start(),然后在恒定的時間間隔會發射timeout()信號。
注意:當qtimer定時器的父對象被銷毀時,它也會被自動銷毀。
在qtimer定時器之模擬時鐘中,1秒(1000毫秒)更新一次:
qtimer定時器 *timer = new qtimer定時器(this); connect(timer, SIGNAL(timeout()), this, SLOT(update())); timer->start(1000);
start()之后,每秒都會調用update()。
可以通過設置setSingleShot(true)來讓定時器只執行一次。也可以使用靜態函數qtimer::singleShot():
qtimer::singleShot(200, this, SLOT(updateCaption()));
在多線程程序中,可以在一個有事件循環的任何線程中使用qtimer。
使用QThread::exec(),從非GUI線程啟動一個事件循環。
Qt使用定時器的線程關聯,以確定哪個線程會發出timeout()信號。
正因為如此,你必須在它的線程中啟動和停止定時器,不可能從另一個線程啟動定時器。
作為一個特例,一旦窗口系統事件隊列中的所有事件都已經被處理完,一個定時為0的qtimer就會到時間了。
當需要提供流暢的用戶界面時,可以用這來做比較繁重的工作。
下一篇新岸線npew03c