1

使用 PyQt4 和 matplotlib 如何将滑块的范围(即长度)链接到同一窗口中绘图轴的范围,以便即使重新缩放窗口,滑块的长度也与绘图轴相同?

4

1 回答 1

1

您可以使用或获取matplotlib绘图中轴的限制。这些返回数据坐标中该轴的包含最小值和最大值。使用数据坐标的优点是无论绘图的缩放如何,它们都保持不变。ax.get_xlim()ax.get_ylim()tuple

有用的是 Qt 自动缩放 a 的范围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])
于 2016-04-28T12:59:34.287 回答