PyQtGraph如何让提前添加的图形元素始终置顶
实现方案
PyQtGraph完全支持让指定图形项长期保持最上层显示,控制逻辑基于Qt原生的zValue层级规则:
- 所有图形项的默认
zValue为0,同层级下后添加的元素会覆盖先添加的元素,这也是示例中散点被蜡烛遮挡的核心原因 - 元素的显示优先级完全由
zValue数值决定,数值越大层级越高,与元素的添加时间无关
具体修改
只需要在创建散点项后,为其设置一个远高于默认值的zValue即可,新增一行代码:
sctItem.setZValue(1000)
这个值只要保持大于后续所有普通元素的默认zValue(0),不管之后添加多少新图形项,散点都会一直处于最上层,不会被遮挡。
补充说明
- 如果后续有其他元素需要临时显示在散点上方,只需要给该元素设置大于1000的
zValue即可,原有层级逻辑不会被破坏 - 不需要在每次新增元素后重复调用置顶逻辑,一次设置即可长期生效
内容的提问来源于stack exchange,提问作者maynull
相关产品推荐
相关产品推荐

