QT開發(七) 定時器事件,系統時間,隨機數

2021-08-18 23:19:17 字數 1207 閱讀 2186

我們來學習一些小知識點,分別是定時器的時間,系統時間,以及隨機數,這裡要說明一下,事件和訊號是不一樣的,不要混淆了,表面看起來都是為了觸發某個功能,實際上你可以理解為時間他更偏向底層一些

我們其實學習過定時器

在這個小專案中,我們使用的是通過timeout訊號去實現的定時觸發,實際上,與上篇一樣,我們qt也有對應的事件,我們來看下:

使用起來很簡單

this->id = starttimer(1000);
我們直接呼叫starttimer來指定間隔時間,單位是ms,返回乙個int,這是乙個id

void mainwindow::timerevent(qtimerevent *event)

}

這樣,每隔1s就會觸發一次,如果想停止這個定時器

killtimer(id);
現在發現這個id的用處了吧!

系統時間的獲取,可以這樣來實現

qdatetime time = qdatetime::currentdatetime();

qstring str = time.tostring("yyyy-mm-dd hh:mm:ss dddd");

this->ui->tv_time->settext(str);

我們通過qdatetime 的靜態函式currentdatetime獲取到之後轉換格式即可,但是這裡獲取的是乙個靜態值,如果我們想要實現乙個鐘錶,就需要借助上面的計時器,也就是我們的定時器事件中應該這樣去寫:

void mainwindow::timerevent(qtimerevent *event)

}

這樣即可實現鐘錶

隨機數就乙個函式qrand(),他的公式為

我們來實現乙個移動的小案例,用上面的例子來處理,我們隨機移動這個時間控制項

void mainwindow::timerevent(qtimerevent *event)

}

這樣就可以達到效果了

Qt事件 定時器事件

qt中的定時器除了實用qtimer之外,凡是繼承了qobject的物件都可以使用定時器事件。1 開啟定時器 int qobject starttimer int interval,qt timertype timertype qt coarsetimer 返回值是定時器id。引數1是時間間隔,可以有...

Qt 定時器顯示系統時間

如果要在qt中實時的顯示時間,是不可以在ui執行緒中直接迴圈的,如果在ui執行緒中直接迴圈會導致介面卡住,如果要迴圈的話就不要使用單獨的執行緒,在這裡我就用qt共的定時器來實現 迴圈顯示 就是每隔一段時間去獲取系統時間並且顯示,如果時間設定的合理也可以實現類似迴圈的效果 下面是實現的功能效果 qt定...

Qt 中定時器事件

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