在Qt中程式休眠一段時間

2021-10-01 13:04:09 字數 1290 閱讀 9147

是qthread 下的三個靜態函式

[static] void qthread::sleep(unsigned long secs)          //秒

[static] void qthread::msleep(unsigned long msecs)    //毫秒

[static] void qthread::usleep(unsigned long usecs)      //微秒

使用方法:

qthread::sleep(1);//休眠一秒

注意:不可在主線程中使用

qelapsedtimer類是提供了一種快速計算執行時間的方法

使用方法:

qelapasedtimer m_elapasedtimer;

m_elapasedtimer.start();

while(m_elapasedtimer.elapsed()<1000)

解釋:qint64 qelapsedtimer::elapsed() const   // 返回此qelapsedtimer最後一次啟動後的毫秒數。

//防止在主線程中,等待事件過長,導致頁面假死狀態;如果在子執行緒中使用,可不加此函式

1   bool qelapsedtimer::ha***pired(qint64 timeout) const   //判斷該qelapsedtimer是否已經超時,超過返回false,沒超過返回true;timeout可為-1,表示這個計時器沒有過期,在這種情況下,這個函式返回false

2  void qelapsedtimer::invalidate()   //將此qelapsedtimer標記為無效。

3 bool qelapsedtimer::isvalid() const  //qelapsedtimer無效返回false。

4 qint64 qelapsedtimer::msecsto(const qelapsedtimer &other) const //返回此qelapsedtimer與其他計時器之間的毫秒數。如果other在此物件之前啟動,則返回的值將為負。如果它是在稍後啟動的,則返回的值將為正。

5  qint64 qelapsedtimer::restart() //重新啟動計時器並返回自上次啟動以來經過的時間。這個函式相當於使用elapsed()獲得經過的時間,然後使用start()再次啟動計時器,但是它是在一次操作中完成的,避免了兩次獲取時鐘值的需要。在無效的qelapsedtimer上呼叫此函式會導致未定義的行為;

6 void qelapsedtimer::start() //開啟定時器

最近一段時間

嗯。乙個是從那時候開始忙了一段時間,然後就沒有時間寫博,而且那段時間也緊張,還有就是人的劣根性 惰性。從那時候開始,大概過了一周5.30號的進候辭職了,因為拿到了南京一家公司的offer,很快,大概是週三面試,周五面試,周五下午發offer。然後周一去辭職的。一切都是這麼快。其實為什麼決定這麼快,因...

告別一段時間

不談過去。在這個學期,認真的做好兩個地理資訊系統。畢業 不用去管。初步的想法,是空間資料結構和演算法,空間資料探勘和知識發現,smartclient webservice和空間資訊網格三部分。第一部分,是很最重要的,也是最實在的,最具有挑戰性的,第二部分,其實就是吹牛,第三部分,也是很重要的,主要是...

Qt程式執行一段時間後,QTimer無法使用。

最近乙個執行了很久的qt專案突然開始出現問題。跟蹤了好久發現qtimer的remainingtime一直都是0。不會減到 1,也不會促發timeout訊號。最後研究一下發現qtimer使用windows控制代碼。qtimer signalshot 這個靜態函式會建立乙個qtimer。而且建立者析構了...