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

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pyqtgraph: Legenditem offset возвращает ложные значения независимо от позиции

Сообщение Anonymous »

У меня есть окно QT5 с pyqtgraph в динамической ситуации, то есть графики, оси, кривые могут быть добавлены или изменены. Кроме того, легенда может быть показана и скрыта. Поскольку пользователь также может перетащить легенду в другое место, используя мышь, я хотел бы сохранить ее положение и, возможно, восстановить эту позицию позже. Установка позиции с использованием LegendItems 'setOffSet работает так же, как и ожидалось, но независимо от фактической позиции, атрибут LegendItems' Offset всегда возвращает одни и те же значения. Вот MWE: < /p>

Код: Выделить всё

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? ] , кажется, работает, если смещение установлено через Legend.Setoffset ([300,300]) , как предложено Rik.
Однако мой вариант использования - это Немного отличается: легенда может быть перемещена с помощью мышиного сопротивления, но это, похоже, не влияет на смещение. Согласно исходному коду LegendItem, MousedRagevent изменяет AutoChanchor , который является объектом GraphicsWidgetanchor. До сих пор я застрял здесь, как получить его значения.
(вариант, который я вижу>

Подробнее здесь: https://stackoverflow.com/questions/789 ... f-position
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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