2015-10-07 71 views
0

我在寫一個正在使用QListView和自定義QStandardItems來顯示日誌數據的日誌應用程序。我已經在應用程序中實現了過濾器,該過濾器將以不同方式着色匹配的行,並且在更改過濾器時,我必須操作列表中的每個項目,過一段時間後它變得非常慢。我不確定是什麼導致了這一點,但我想知道是否可以在每次更換產品後重新繪製。如果是這樣的話,我可以通過某種方式告訴QT在我完成操作所有項目之前不要重畫嗎?優化QListView更新

感謝您的幫助!

+0

需要多少項才能變慢?您可能還想顯示一些代碼(因爲您要求優化幫助) –

+0

也許> 10.000。但我想我現在解決了它。我使用了一個工作線程來執行此更新,並使GUI更加快速響應。 – UglyBob

+0

好的。希望你實際上並沒有從工作線程中調用Qt GUI調用。這會導致隨機段錯誤。 –

回答

0

爲了幫助別人,我可以補充一點,我通過實現我自己的視圖來解決這個問題,該視圖處理繪製事件本身,並僅繪製屏幕上當前可見的行。這使得它非常快速,沒有內部QT視圖似乎能夠做類似的事情。