我正在使用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
我的计算机是MacBook Pro 15英寸2014年中,
并且操作系统是Mojave 10.14.3
答案 0 :(得分:0)
您能否尝试更新您的matplotlib模块> 3.2.0rc1版本。 此版本包含对该问题https://github.com/matplotlib/matplotlib/issues/14160的更正。 我在计算机上对其进行了测试,并且效果很好。