使用多執行緒渲染QOpenGLWidget,會報錯Cannot make QOpenGLContext current in a different thread。導致程式崩潰。
uj5u.com熱心網友回復:
QOpenGLWidget只能在主執行緒中,作業執行緒中可以用來處理資料,并把結果通過信號槽發給主執行緒uj5u.com熱心網友回復:
我的主執行緒有多個QOpenGLWidget控制元件需要同時顯示更新,主執行緒需要處理其他事情,所以想開執行緒來渲染。uj5u.com熱心網友回復:
GUI執行緒和作業執行緒如前所述,每個程式在啟動時都有一個執行緒。這個執行緒稱為“主執行緒”(在Qt應用程式中也稱為“GUI執行緒”)。Qt GUI必須在這個執行緒中運行。所有小部件和幾個相關類,例如QPixmap,都不能在輔助執行緒中作業。輔助執行緒通常被稱為“作業執行緒”,因為它用于從主執行緒分擔處理作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/241588.html
標籤:Qt
