在 Pyside2 中嵌入 Matplotlib 的释放错误

Posted

技术标签:

【中文标题】在 Pyside2 中嵌入 Matplotlib 的释放错误【英文标题】:Deallocation error of Matplotlib embeded in Pyside 2 【发布时间】:2018-04-15 22:27:36 【问题描述】:

我正在为 matplotlib 执行 this 示例文件,并且在正常退出主窗口时出现以下错误。

Fatal Python error: deallocating None

我只更改了以下几行,因为我想使用 PySide2 而不是 PyQt。

原文:

# Make sure that we are using QT5
matplotlib.use('Qt5Agg')
from PyQt5 import QtCore, QtWidgets

新:

# Make sure that we are using QT5
matplotlib.use('Qt5Agg')
matplotlib.rcParams['backend.qt5']='PySide2'
from PySide2 import QtCore, QtWidgets

否则程序运行完美,当我关闭它时它只是崩溃,这有点烦人。

我的环境包括:

Python 3.6.4 PySide2 5.6.0a1 MatplotLib 2.2.2

有什么想法吗?

【问题讨论】:

【参考方案1】:

参考这个帖子https://***.com/a/49712824/6704496,它似乎是一个不是最新版本的错误。请下载最新的***http://download.qt.io/snapshots/ci/pyside/5.9/latest/。

【讨论】:

以上是关于在 Pyside2 中嵌入 Matplotlib 的释放错误的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 PySide2 在 matplotlib 中显示图形?

将垂直滚动条添加到嵌入式 matplotlib 画布,同时保持其水平大小占据整个 QScrollArea

在使用 matplotlib 和 PySide2 运行的应用程序中使用 pdb 调试器时出现“事件循环已在运行”

带有 Pyside2 和 Matplotlib 的 Pyinstaller 无法正常工作

由于 PySide2 和 Matplotlib,Travis-CI 无法构建

使用 PySide2 在 Qt-Designer 中嵌入 PyQtGraph