为什么PathView的委托项中心点绘制在Path起始位置而非x/y与startX/Y对齐?
PathView 委托位置不符合预期问题说明
- PathView 框架默认将委托的中心点与 Path 路径上的采样点对齐,首个委托的中心点与 Path 的
startX、startY完全重合,末尾委托的中心点与 Path 的终点坐标重合,这是官方预设的定位逻辑。 - 你的测试代码中委托尺寸为 100x100,当中心点对齐(0,0)时,委托左上角坐标为(-50,-50),因此不会出现你预期的「委托左上角对齐(0,0)」的效果。
解决方案
如果需要实现委托左上角与路径点对齐的效果,可任选以下一种方案修改:
方案1:修改委托变换原点
在 Rectangle 委托中添加transformOrigin属性,将变换原点从默认的中心点改为左上角即可:
Component { id: myDelegate Rectangle { width: 100; height: 100 color: "#321" transformOrigin: Item.TopLeft // 新增该行 Text { anchors.centerIn: parent text: index } } }
方案2:给Path添加偏移属性
适合需要全局统一调整所有委托偏移的场景,在 Path 定义中添加对应偏移的 PathAttribute:
path: Path { startX: 0; startY: 0 // 新增两行偏移属性,值为委托宽高的1/2 PathAttribute { name: "x"; value: 50 } PathAttribute { name: "y"; value: 50 } PathLine{relativeX: root.width; relativeY: root.height} }
内容的提问来源于stack exchange,提问作者jett chen
相关产品推荐
相关产品推荐

