當視口對象選擇更改發出的包含新對象的QHash的信號時,我構建了一個類似於CAD的應用程序。這個信號被它的文檔子窗口捕獲,它將新的屬性/設置UI從它們中提出,銷燬主窗口屬性窗格中的現有屬性顯示,並用新的屬性/設置替換它們。QWidget不一致地更新/重新繪製
使用打印語句,我知道這是有效的 - 所有信號/插槽連接都正確觸發。但是,如果我直接在主窗口上執行操作(按下按鈕,將鼠標懸停在小部件上),則更新該小部件時,屬性小部件會非常不一致地重新繪製。但是當我只是在視口中選擇對象時,屬性窗格會「遺漏」更新,因此它最終會顯示前一個對象的屬性 - 我知道這不是我的問題,因爲如果我移動窗口或與小部件(觸發重繪),小部件奇蹟般地變得正確。
這些函數不是從單獨的線程中調用的。如果我在我的代碼中手動調用update(),則沒有任何更改。如果我直接調用repaint()(我知道我不應該),它會更好一些,但它有點不穩定 - 有時這些小部件根本不會被繪製。
有沒有人有類似的經歷?
就是這樣!謝謝。 – cmannett85