1
這是一個關於qthreads的普遍問題,我知道如何使用movethread()函數,但是這個函數並不是動態創建的。是否可以將動態創建的對象移動到qthread中?
用戶將通過選擇添加按鈕在GUI應用程序上創建對象。如果用戶想要刪除已創建的對象,則還可以使用刪除按鈕。用戶應該能夠從列表視圖中選擇對象。我已經使用qstyleditemdelegate創建了自定義列表視圖的示例,我知道如何將列表移動到模型中。我很擔心線程。
我想要做的是允許用戶動態地創建某個類的對象。然後將每個對象移動到qthread中。我應該繼續尋找嗎?任何提示,技巧或提示?
我可以創建一個將對象移動到線程中的函數嗎?
Pseudo Code:
void MoveThisObject(MyCustomObject Object)
{
QThread* thread = new QThread;
Object->moveToThread(thread);
/****setup connections****/
thread->start();
}
我還在寫下我需要的東西,我沒有真正創建實際的應用程序。
首先關注:你正在通過值來傳入'Object'。所以,被移動的對象將直到「MoveThisObject()」結束。正如你所說的'Object->',你可能錯過了'*' –
由於用戶可以選擇列表視圖項目,我可以使用索引值來找到正在爲該選定項目運行的線程嗎? –
聽起來就像你想存儲生成的線程,例如在'QHash'中。 –