Qt事件 定時器事件

2021-10-22 03:22:35 字數 1058 閱讀 1441

qt中的定時器除了實用qtimer之外,凡是繼承了qobject的物件都可以使用定時器事件。

1、開啟定時器:

int qobject::starttimer(int interval, qt::timertype timertype = qt::coarsetimer)

返回值是定時器id。

引數1是時間間隔,可以有幾種寫法:

using namespace std::chrono;

starttimer(milliseconds(50));//毫秒

starttimer(seconds(1));//秒

starttimer(minutes(1));//分鐘

using namespace std::chrono_literals;

starttimer(100ms);

starttimer(5s);

starttimer(2min);

starttimer(1h);

引數2是定時器精度:

在unix(包括linux、macos和ios)上,qt將保持qt::precisetimer的毫秒精度。對於qt::coarsetimer,間隔將調整到5%,以使定時器與預期在同一時間或大約在同一時間觸發的其他計時器對齊。其目的是使大多數定時器同時喚醒,從而減少cpu喚醒和功耗。

在windows上,qt將使用windows的多**定時器工具(如果可用)來實現qt::precisetimer,並使用普通windows定時器來實現qt::groassetimer和qt::verycoarsetimer。

在所有平台上,qt::verycoarsetimer的間隔四捨五入到最接近的整秒(例如,23500ms的間隔將四捨五入到24000ms,20300ms將四捨五入到20000ms)。

2、定時器事件

void timerevent(qtimerevent *event)

}

3、停止定時器

void qobject::killtimer(int id)

Qt 中定時器事件

定時器是用來處理週期性事件的一種物件,類似於硬體定時器。例如設定乙個定時器的定時週期為 1000 毫秒,那麼每 1000 毫秒就會發射定時器的 timeout 訊號,在訊號關聯的槽函式裡就可以做相應的處理。定時器例項程式執行示意圖 要使用定時器,需要新增qtimer類 include 1.視窗類新增...

QT定時器事件startTimer

1 開啟乙個定時器 int starttimer int interval,qt timertype timertype qt coarsetimer 功能 啟動乙個定時器事件並返回乙個定時器id 引數說明 interval 定時器的觸發時間 觸發的間隔時間 2 關閉定時器void qobject ...

Qt使用定時器方法一 定時器事件

首先,qt物件的基類qobject為我們提供了乙個基本的定時器,它是通過定時器事件來觸發的。其步驟如下 step1 通過函式int qobject starttimer int interval 函式來啟動乙個定時器,其中引數interval為時間間隔,其時間單位為毫秒 ms starttimer ...