在PyQt5中,QScrollArea中的matplotlib的FigureCanvasQTAgg不能正常工作

问题描述 投票:2回答:1

我正在使用PyQt5创建应用程序。

我想添加一个长幅图表,所以我试图将图表添加到QScrollArea中。

我使用FigureCanvasQTAggmatplotlib编写了下面的代码

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.3PyQt5 5.12.2

我的电脑是2014年中的15英寸MacBook Pro,

并且操作系统是Mojave 10.14.3

python qt matplotlib pyqt pyqt5
1个回答
0
投票

您能否尝试更新您的matplotlib模块版本> 3.2.0rc1。此版本包含对该问题的更正https://github.com/matplotlib/matplotlib/issues/14160。我在计算机上对其进行了测试,效果很好。

© www.soinside.com 2019 - 2024. All rights reserved.