Re: [問題] Qt thread

看板C_and_CPP作者 (aa)時間14年前 (2011/06/24 23:51), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串6/6 (看更多)
目前改寫後視窗還是會停掉 先按B後,還是會停掉耶 不知道是甚麼原因? 希望有人可以指點一下,謝謝 http://codepad.org/MBOgFkrO http://codepad.org/xHU5oYGV http://codepad.org/ezA9M7t2 http://codepad.org/lt2YLr9U http://codepad.org/uq1zglXr ※ 引述《legnaleurc (CA)》之銘言: : ※ 引述《tata111 (aa)》之銘言: : : 看了這篇還是不太懂實際上要怎麼做 : : 原始例子,沒有使用thread需等一個動作執行完才能執行下一個 : : 兩個button各會print 1到10000 : : 希望可以按下A後馬上按B,然後看見A和B的訊息交錯出現 : : http://codepad.org/ud00zmZu : : http://codepad.org/aDutgyMF : : http://codepad.org/VqfeRUi1 : : 目前的想法 : : http://codepad.org/Q1iIhufB (同下面等號後的文字) : : 希望可以有人給建議,對Qt還沒有很熟 : : 有時候程式有錯誤時會搞不清楚到底是這樣不可行 : : 還是只是自己沒寫好 : : 所以想先請教一下整體的概念 : : 謝謝 : https://gist.github.com/1038309 : 像這種很明確有一個 task 要做的 thread : 用 QRunnable 會比較輕鬆 : 好處是同樣一個 QRunnable 實體可以被 QThreadPool 執行多次 : 但 QThread 跑到底就不能再拿來開另一條 thread 了, 必須要 : 再另外建一個 QThread 實體 : 簡單的說, QThread 適合拿來跑 daemon : QRunnable 適合拿來跑 task : QtConcurrent 則多數是用來平行運算(map-reduce) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.243.158.103 ※ 編輯: tata111 來自: 111.243.158.103 (06/25 00:28)

06/25 00:51, , 1F
那是因為你送 signal 的次數太頻繁,event queue 被佔
06/25 00:51, 1F

06/25 00:51, , 2F
滿,才會導致 GUI 更新事件被插滿
06/25 00:51, 2F

06/25 11:58, , 3F
我最近也常遇到這個問題 我是呼叫qApp->processEvents
06/25 11:58, 3F

06/25 11:58, , 4F
來解決 但是不知道有沒有更好的方法...
06/25 11:58, 4F

06/25 11:59, , 5F
因為到處都是這種CODE 很醜
06/25 11:59, 5F

06/26 08:23, , 6F
如果你要做的事情是這種可以拆成小塊但會一直發 signal
06/26 08:23, 6F

06/26 08:23, , 7F
的東西, 用 QTimer 之類的方法會簡單很多...
06/26 08:23, 7F

06/26 08:28, , 8F
06/26 08:28, 8F
文章代碼(AID): #1E1BAVVr (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1E1BAVVr (C_and_CPP)