【问题标题】:In PyQt5, matplotlib's FigureCanvasQTAgg in QScrollArea is not working fine在 PyQt5 中,matplotlib 在 QScrollArea 中的 FigureCanvasQTAgg 不能正常工作
【发布时间】:2019-10-08 00:38:24
【问题描述】:

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

我想添加一个长宽的图表,所以我尝试将图表添加到QScrollArea

我使用FigureCanvasQTAgg of 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 3.6.0

我正在使用matplotlib 3.0.3PyQt5 5.12.2

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

操作系统是 Mojave 10.14.3

【问题讨论】:

  • 你有解决办法吗?

标签: python qt matplotlib pyqt pyqt5


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 2013-06-29
    • 2021-06-28
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多