PyQt4 - связать экстент ползунка с экстентом оси построения
Используя PyQt4 и matplotlib, как связать экстент (т. Е. Длину) ползунка с экстентом оси графика в том же окне, чтобы длина ползунка совпадала с осью графика, даже если окно масштабируется?
1 ответ
Вы можете получить пределы оси в matplotlib
сюжет с использованием ax.get_xlim()
или же ax.get_ylim()
, Эти возвращает tuple
содержит минимальное и максимальное значение для этой оси в координатах данных. Преимущество использования координат данных заключается в том, что они остаются неизменными независимо от масштаба графика.
Полезно, чтобы Qt автоматически масштабировал диапазон QSlider
поставить минимальные / максимальные значения на пределе слайдера. Поэтому вы можете просто использовать предельные значения оси, чтобы установить диапазон для QSlider
чтобы получить соотношение 1:1 между положением ползунка и положением на оси.
xlims = ax.get_xlim() # e.g. (0, 200)
slider = QSlider()
slider.setRange(*xlims) # unpack the tuple into setRange
# alternatively slider.setRange(xlims[0], xlims[1])