我有一個用戶界面程序,其中我用QFuture
在處理器上沉重的不同類中運行一個函數,並導致我的用戶界面崩潰後,使用QFuture將此線程它工作正常,但我有另一個功能,將需要被調用後,但是這是一個類,在我從中調用它。使用QFuture調用本地類函數
我已經使用了相同的代碼做第二個,但它只是顯示了我還沒有使用,也不知有關Timers
錯誤,如果是我的參數使用this
其右:
future = new QFuture<void>;
*future = QtConcurrent::run(this, &GUI::test);
測試是一個局部的功能,是事做的事實,我不能有兩個併發::運行來電或什麼的,我已經試過看着已經沒有遺憾的是幫助
文檔基本上,當這被稱爲UI鎖定,我得到一些奇怪的警告,我認爲的重點這是用戶界面不會崩潰
Qt小部件具有線程相關性,您是否在測試中執行了任何必須在GUI線程上完成的任務訪問任何小部件的狀態?這將解釋鎖定。呵呵,線程化的關鍵在於UI不應該被長時間的操作阻塞,而不是它不會崩潰。線程崩潰太容易了;) – 2013-04-23 12:42:32
我更新了qGraphicsView的場景?,任何想法爲什麼我可能會得到這個錯誤,雖然當我不對定時器做任何事情'QObject :: startTimer:定時器不能從另一個線程啓動' – AngryDuck 2013-04-23 12:48:21
我猜想你在內部做的事情啓動一個計時器。 – 2013-04-23 13:01:39