看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《PeterKiller (Peter)》之銘言: : 開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Ubuntu 10.10 gcc : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) Qt : 問題(Question): 各位版上的高手好 最近在看學習筆記學Qt : 學到Qthread時 發現他給的範例不能照常執行 來爬文發現在Qthread中 : 不能有QWidget的物件,需要用signal和slut實做。 是 slot...可以去查字典 slut 的意思, 拜託這個誤字很糟糕XD : 現在遇到的困難是 我寫了一個遊戲開了兩條Qthread,其中第一條是遊戲邏輯, : 第二條則是讓他一直刷新遊戲畫面,所以我在第二條Qthread中的run只是一直發signal : 讓我的main thread(GUI thread)去執行update()這個函式..但是我編譯完執行後就發現 : 他整個程式都block住沒辦法動了,想請問各為有什麼解決的辦法? 因為整個執行隊列都被你無窮迴圈裡發出的訊號佔滿了吧... 在畫完一次後用 QThread::msleep() (或 usleep 或 sleep) 延遲一下 : code 在此: : main : http://codepad.org/mwJ3FXRn : QWidget object :http://codepad.org/Ellr2zk0 : http://codepad.org/FNvMKyL9 : graph thread : http://codepad.org/TR3aeDvK : 謝謝 然後你程式碼裡 include 了不少怪東西... Implementation 部份(.cpp 檔)不用 include QtGui 然後與其用 printf 不如用 std::cout, 更不如用 QDebug, 既然你都在寫 Qt 了 用 std::string 和 pthread 也是很詭異... -- "問おう、貴方が私のマスターか?" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (04/06 02:14)
legnaleurc:slut 有笑點 XD 我都沒發現 04/06 02:30
PeterKiller:感謝..會有pthread是因為原本用pthread寫XD 04/06 02:30
loveme00835:樓上要搞清楚 Framework 跟 Library的 差別喔~ 04/06 11:11
xatier:slut我笑了XD 04/06 12:01
PeterKiller:XD 我沒注意到耶 04/07 01:53