gpt4 book ai didi

c++ - QGraphicsItem 剪裁子项。

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:23 26 4
gpt4 key购买 nike

我从 QGraphicsItem 派生的类返回 Rect1 的边界矩形。

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

它的许多 child 都夹到 Rect1。

相反,当我的 QGraphicsItem 的 boundingRect 保持为 Rect1 时,如何让 child 剪辑到我定义的内部矩形 Rect2?

最佳答案

我猜您已经在 BaseControl 上设置了 ItemClipsChildrenToShape 标志。如果是这样,您可以简单地重新实现 QGraphicsItem::shape() 来定义您希望 child 剪裁到的形状,这可能与 boundingRect() 不同( boundingRect() 是默认值)。

另一个可能更好的选择是创建一个容器 QGraphicsItem,它将成为 BaseControl 的子对象,以及您要剪辑的项目的父对象。此容器项应设置 ItemClipsChildrenToShape 标志,但 BaseControl 不应设置。这样,BaseControl 可以有自己的边界矩形 Rect1,容器项目可以有 Rect2 作为它的边界/剪裁矩形。

关于c++ - QGraphicsItem 剪裁子项。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10533177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com