如何讓Qt 的程式等待一段時間2

2021-09-25 06:18:43 字數 649 閱讀 3733

在qt程式中,我們有時候會遇到這樣的需求,比如讓程式暫停(休息、休眠)一段時間。

最開始我需要這樣的需求時候,我第一反應想到的是在qt assistant 中搜尋sleep方法,企圖尋找讓程式暫停、休眠一段時間的方法,不過,搜尋結果顯然令我很失望,並沒有找到直接滿足需求的sleep方法,不過看到了qthread中的sleep的方法:

[static] void qthread::sleep(unsigned long secs);//forces the current thread to sleep for secs seconds.
這個好像和我們的需求類似,就試一下吧。

qthread::sleep(5000);
好吧,結果卻是下面這樣,也就是程式直接崩潰了。

**原因,原來介面的執行緒是主線程,在主線程中使用休眠函式是一種錯誤,這會直接導致介面無法重新整理,使用者與程式無法互動,最終導致程式崩潰。

qt並沒有提供主線程休眠的函式,是因為我們不需要在主線程中使用sleep函式。

我們要記住最重要的一點:我們永遠不需要讓主線程休眠,但是,我們有時候會需要

如何讓Qt 的程式等待一段時間1

qtime t t.start while t.elapsed 1000 不停地處理事件,以使得程式保持響應。qthread sleep 1 在while 1 死迴圈裡加上這個,cpu沒空去幹其他的事情,在多程序的情況下會影響其他程式的啟動 響應速度測試的乙個小例子 class widget pub...

JAVA中實現讓程式等待一段時間的方法

方法一 通過執行緒的sleep方法。thread.currentthread sleep 1000 在需要程式等待的地方加入這個語句,實現讓程式等待,這裡的引數1000是以毫秒為單位,即這語句可以讓程式等待1秒。方法二 timeunit類裡的sleep方法。timeunit.days.sleep 1...

在Qt中程式休眠一段時間

是qthread 下的三個靜態函式 static void qthread sleep unsigned long secs 秒 static void qthread msleep unsigned long msecs 毫秒 static void qthread usleep unsigned...