PyQt 和 matplotlib

Posted

技术标签:

【中文标题】PyQt 和 matplotlib【英文标题】:PyQt and matplotlib 【发布时间】:2013-01-28 09:58:47 【问题描述】:

我从 PyQt 应用程序调用 matplotlib 函数 plt.show()。我总是有警告:

QCoreApplication::exec: The event loop is already running

似乎 matplotlib 调用了一个已经启动的新 QCoreApplication 如何删除此警告? 谢谢

【问题讨论】:

不要打电话给.show()。它启动自己的事件循环。像example 一样嵌入你的情节。 【参考方案1】:

如果您不生成多个绘图,最简单的方法是在初始化图形之前使用plt.ion()。删除plt.show()

【讨论】:

【参考方案2】:

我遇到了类似的问题。根本原因是您的 PyQt 应用程序使用了 Qt(这当然是显而易见的)。但是您尝试制作的 matplotlib 图形也使用 Qt。要知道,matplotlib 图有自己的窗口,它源自 Qt。所以有冲突。

方法 1

有几种方法可以解决它。这里解释了一种方法:

Matplotlib animation inside your own PyQt4 GUI

该链接将您引向我几天前在网上发布的 *** 问题。我试图从我自己的 PyQt 应用程序中启动 matplotlib 动画。

方法 2 第二种方法在这里解释:

Cannot move Matplotlib plot window and exit it using red X button

我希望这对您有所帮助。如果您有任何问题,请随时问我。我很乐意提供帮助。

【讨论】:

以上是关于PyQt 和 matplotlib的主要内容,如果未能解决你的问题,请参考以下文章

kivy和pyqt5哪个简单

pyqt tkinter哪个好用

在一个应用程序中同时支持 PyQt4 和 PyQt5 的常用方法是啥?

pyqt5怎么返回一个流

PyQt5 和 Anaconda:ModuleNotFoundError:没有名为“PyQt5”的模块

python pyqt5 自定义信号和槽