以前,我問過在不同的線程中運行模型和視圖,現在我明白它是如何構成問題的。爲了規避這個問題,我正在考慮重複數據。當工作者線程修改數據時,它會同時向GUI/Model線程發送更新,以使用相同的數據更新模型(因此,GUI /模型中存在精確的數據副本)。Qt模型 - 在單獨的線程中查看數據和模型
這聽起來像一個似是而非的方法嗎?其他方法是使用像QTableWidget等默認模型的直接窗口小部件,但然後我需要做很多默認情況下由QTableView支持的事情。
請建議!
鏈接到的其他問題:Design Pattern, Qt Model/View and multiple threads
聽起來不錯。您可以使用排隊信號/插槽連接進行更新。除非您有大量更新或數據複製的成本非常高,否則我不會看到任何問題。如果工作人員不需要保留現有數據,則只需發送更新並忘記,以避免重複使用RAM。 – 2012-03-20 19:22:54