1
我有兩個自定義的QML組件,從QDeclarativeItem
繼承。防止底層元素重繪int QtQuick Qml自定義控件
以我組件的構造我設置該選項:
setFlag(QGraphicsItem::ItemHasNoContents, false);
setCacheMode(QGraphicsItem::ItemCoordinateCache);
在我的應用程序具有一種類型的另一種類型的元件的上方的元件。這些元素不共享任何屬性,但是當其中一個屬性重繪時,另一個屬性也會重繪。
如果我在元素上方放置了一些標準元素(如Text
或Rectangle
)並更改它的屬性,它不會重繪我的元素。所以我想,我忘了在組件中設置一些標誌。
如何防止一個項目重繪時,另一個正在改變?
我使用Qt 4.8和1.1 QtQuick
我知道,但如果我是正確的,緩存必須防止不必要的重繪。 自從我打開緩存後,它開始使用標準元素(正如我前面所述)。但是用我自制的組件緩存不起作用。我想,我應該通知框架重繪我的元素不影響任何其他元素的外觀。 – Paboka
緩存不會阻止合成的需要,而且這也不是免費的。 –