我正在使用PyQt5
创建应用程序。
我想添加一个长幅图表,所以我试图将图表添加到QScrollArea
中。
我使用FigureCanvasQTAgg
的matplotlib
编写了下面的代码
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QScrollArea
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use('Qt5Agg')
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = QWidget()
widget.resize(400, 300)
fig, ax = plt.subplots(1)
fig.set_size_inches(30, 1)
figure_canvas = FigureCanvas(fig)
scroll = QScrollArea(widget)
scroll.setWidget(figure_canvas)
widget.show()
sys.exit(app.exec_())
但是当我滚动它时,它不能正常工作。
gif显示当我向右滚动时的情况。
代码有什么建议吗?
我的python是python 3.6.0
并且我正在使用matplotlib 3.0.3
和PyQt5 5.12.2
我的电脑是2014年中的15英寸MacBook Pro,
并且操作系统是Mojave 10.14.3
您能否尝试更新您的matplotlib模块版本> 3.2.0rc1。此版本包含对该问题的更正https://github.com/matplotlib/matplotlib/issues/14160。我在计算机上对其进行了测试,效果很好。