簡體   English   中英

QGraphicsItem剪切子級。

[英]QGraphicsItem clipping children.

我從QGraphicsItem派生的類返回Rect1的邊界矩形。

QRectF BaseControl::boundingRect() const {
    return(Rect1);
}

它的許多孩子都剪輯到Rect1。

相反,當我的QGraphicsItem的boundingRect保持為Rect1時,如何讓子代剪切到我定義的內部Rect2?

我猜您已經在ItemClipsChildrenToShape上設置了ItemClipsChildrenToShape標志。 如果是這樣,您可以簡單地重新實現QGraphicsItem::shape()來定義您希望子代剪切到的形狀,該形狀可以與boundingRect()不同( boundingRect()是默認值)。

另一個更好的選擇是創建一個容器QGraphicsItem,該容器將成為BaseControl的子級,並成為要剪切的項的父級。 此容器項目應設置ItemClipsChildrenToShape標志,但BaseControl不應設置。 這樣,BaseControl可以具有自己的邊界矩形Rect1,並且容器項可以將Rect2作為其邊界/裁剪矩形。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM