我對Qt樣式表的管理有問題。Qt樣式表管理和性能
我有一個很大的Qt應用程序,可以動態改變它的顏色主題。爲此,我創建了幾個樣式表(一個按主題 - 它們很大)。當用戶想要更改顏色主題時,他點擊一個按鈕,該按鈕調用方法setStylesheet(QString)
的MainWindow
。這實際上工作,但我的GUI在此過程中凍結8-10秒。
爲了減少延遲,我試圖用unpolish(QApplication * application)
和QStyle::polish(QApplication * application)
。性能相當令人印象深刻(少於一秒),但幾個Widget
屬性不會更新,例如QToolButton
的圖標屬性。此外,即使我們的自定義小部件繼承自常見小部件類(QFrame
,Qwidget
,QStackedWidget
等等),它們也不會更新。 我想用polish
方法錯過什麼嗎?是否有另一種方式來更好地更新我的應用程序的樣式?
是的,但是這代表了很多工作。我堅持與CSS文件,我必須使用它們。不管怎麼說,還是要謝謝你。 – 2014-12-03 16:22:06
@AlJah:你說得對,當我從stylSheet切換到'QPalette'時,我需要一個多星期的時間。 您的歡迎。 – 2014-12-03 16:31:07