gpt4 book ai didi

c++ - 带孔的 QPainterPath 的多边形点

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

我正在尝试使用 QGraphicsPathItem 来表示其中有一个洞的多边形(想想 donut )。我可以让它正确绘制,并且中心是透明的。但是,启用项目选择或移动后,我可以在单击孔时与我的对象进行交互。我宁愿将孔视为不属于多边形的一部分。

我已经做了一些测试,当我检查孔内的一个点时,QPainterPath::contains() 似乎会返回 true。我是否需要子类化 QGraphicsPathItem 来实现更具体的 contains() 函数,还是我还缺少其他东西?

最佳答案

如果将填充规则从默认值 Qt::OddEvenFill 更改为 Qt::WindingFill,你还能看到洞吗?我猜你将无法看到这个洞。所以这个洞实际上不是你路径上的“物理”洞。如果要表示带孔的多边形,则可能需要子类化 QGraphicsPathItem,显式定义最外层路径和孔,并维护不同角色的路径之间的关系。

关于c++ - 带孔的 QPainterPath 的多边形点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304595/

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