0
我想重新實現創建我自己的QThread類的運行函數。ui是受保護的,但如何在重新實現的Qthread run()函數中使用它
我創造了這個,
class MyThread : public QThread
{
public:
void run();
};
void MyThread::run()
{
gui w;
w.listen_device(w.ui->comboBox->currentIndex());
exec();
}
所以我給的值作爲參數傳遞給我的listen_device功能無法使用Q漆主線程之外。
我知道ui來自gui是受保護的,所以我怎樣才能得到這個值?
謝謝。
它不僅僅是不能在後臺線程中繪製的。 QWidgets根本無法在後臺線程中創建。如果你的小部件是在'gui'的構造函數中創建的,那麼你需要重新考慮你的設計。只保留後臺線程中的邏輯併發出信號。在主線程中,您可以捕獲這些信號並更新視圖。 – cgmb 2013-02-19 21:13:20