pyqtgraph:LegendItem 偏移量返回错误值,无论位置如何

问题描述 投票:0回答:1

我有一个 Qt5 窗口,其中有动态情况下的 pyqtgraph,即可以添加或修改绘图、轴、曲线。此外,图例可以显示和隐藏。由于用户还可以使用鼠标将图例拖动到不同的位置,因此我想存储其位置,并可能稍后恢复该位置。使用 LegendItems 的

setOffset
设置位置可以按预期工作,但无论实际位置如何,LegendItems 的
offset
属性始终返回相同的值。这是 MWE:

import numpy as np
import pyqtgraph as pg

win = pg.plot()
win.setWindowTitle('MWE legend offset')

c1 = win.plot([np.random.randint(0,8) for i in range(10)], pen='r', name='curve1')

legend = pg.LegendItem((80,60), offset=(70,20))
legend.setParentItem(win.graphicsItem())
legend.addItem(c1, 'curve1')

print(f"Before setting an offset: {legend.offset}") # Gives (70,20)
legend.setOffset([300,300])
print(f"After setting an offset: {legend.offset}") # Gives (70,20) as well

if __name__ == '__main__':
    pg.exec()

知道如何获得真实的 LegendItem 位置吗?

python pyqtgraph
1个回答
0
投票

legend.offset
替换
legend.opts['offset']
确实有效。

我认为开发人员忘记在

legend.offset
方法中更新
setOffset()

© www.soinside.com 2019 - 2024. All rights reserved.