用于 Qt 4、Python 3 的 matplotlib 小部件
Posted
技术标签:
【中文标题】用于 Qt 4、Python 3 的 matplotlib 小部件【英文标题】:matplotlib widget for Qt 4, Python 3 【发布时间】:2012-02-08 20:35:12 【问题描述】:我正在使用 PyQt4 和 matplotlib 在 Python 3 中编写一个 GUI 应用程序。用户必须选择某些字段名称,然后程序将从数据库中读取相应的值,处理它们并绘制带有一些统计数据的图。用户可以更改字段名称或用于统计表示的某些选项并(自动)重绘绘图。
我在本章中找到了一些 Qt 小部件:Matplotlib for Python Developers, Embedding Matplotlib in Qt 4。但这里也有一些示例小部件:mpl widget。
我对 Qt 设计没有太多经验,想知道这两者有什么区别?到目前为止,我已经尝试了第一个,它允许我在 Qt GUI 中显示 matplotlib 图(直方图),但我无法测试所有功能,例如在更改任何参数后更新图,因为它尚未实现.
欢迎任何建议、好的参考或可用的小部件。
【问题讨论】:
当我需要在我的 Qt 项目上绘制数据时,我使用了 demo。这很容易 好例子,谢谢! 【参考方案1】:mpl 小部件的优点是您可以在 QtDesigner 中设计界面时看到它,并且有些东西会自动为您设置。如果您查看代码,您会发现它也是基于您提供的“嵌入”示例。另一方面,您始终可以在界面中使用占位符 qwidget(或其他)来放入您的绘图小部件,然后您不必携带 mpl_widget 文件作为依赖项。
最简单的解决方案可能是使用 matplotlib 的 pylab 接口,它会生成独立于您的主应用程序的图形窗口。您需要确保交互模式已打开,并且在尝试绘制任何内容之前将后端设置为 qt4。图形易于管理(例如 plt.close('all') )。
【讨论】:
以上是关于用于 Qt 4、Python 3 的 matplotlib 小部件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Anaconda 2.0 中使用 Python 3.4 激活 Ipython Notebook 和 QT 控制台
Python Qt GUI设计:QTableViewQListViewQListWidetQTableWidgetQTreeWidget和QTreeWidgetltem表格和树类(提升篇—1)