我有一個CLI應用程序,我正在擴展它的用戶界面以幫助實現可用性,並使用Qt-4.8.3。Qt4與UI線程的接口
應用程序連接到IRC服務器,並且每個連接駐留在它自己的線程中接收數據。解析器運行在不同的線程中,然後處理數據並作出相應反應 - 創建通道,添加用戶等。
我一直在瀏覽文檔,只是無法確定(或真正看到)在我的實例中更新UI最有用的方法是什麼 - 我應該創建一個繼承自QThread的類並運行它,使用QFuture和QtConcurrent做一些技巧,創建一個自定義結構並將其傳遞給UI線程,使用customEvent(),還是有更好的方法?代碼易讀性和性能是最重要的要求。
我現在的代碼運行完美,但自然在解析器線程內創建一個新的QWidget,立即打破了它不是UI線程的通知。
只有一個類(目前,它繼承QObject並提供信號+插槽功能)用於在QApplication上運行exec,並且還包含服務器,通道,用戶的創建函數等
如果需要,我可以發佈一些代碼,但有很多,我不知道它確實是相關的。
優秀的鏈接,澄清了我的測試中的一些怪異! – ZXcvbnM