Pyqtgraph: смещение LegendItem возвращает ложные значения независимо от позицииPython

Программы на Python
Anonymous
Pyqtgraph: смещение LegendItem возвращает ложные значения независимо от позиции

Сообщение Anonymous »

У меня есть окно Qt5 с pyqtgraph в динамической ситуации, т. е. можно добавлять или изменять графики, оси, кривые. Также легенду можно показать и скрыть. Поскольку пользователь также может перетащить легенду в другое место с помощью мыши, я хотел бы сохранить ее положение и, возможно, восстановить это положение позже. Установка позиции с помощью setOffset LegendItems работает должным образом, но независимо от фактической позиции атрибут offset LegendItems всегда возвращает одни и те же значения. Вот 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?

Подробнее здесь: https://stackoverflow.com/questions/789 ... f-position

Вернуться в «Python»