繁体   English   中英

在PyQt中嵌入Matplotlib

[英]Embedding Matplotlib in PyQt

我正在尝试测试Matplotlib是否可以在Ubuntu的PyQt中工作。 我一直在与PyQt合作,我想将Matplotlib嵌入Pyqt。 我遵循了http://eli.thegreenplace.net/2009/01/20/matplotlib-with-pyqt-guis/上给出的代码,但是在导入matplotlib产生一些错误。

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
  File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4agg.py", line 9, in <module>
    from matplotlib.figure import Figure
  File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 18, in <module>
    from axes import Axes, SubplotBase, subplot_class_factory
  File "/usr/lib/pymodules/python2.6/matplotlib/axes.py", line 2, in <module>
    import math, sys, warnings, datetime, new
  File "/home/kasa/Desktop/new.py", line 25, in <module>
    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
ImportError: cannot import name FigureCanvasQTAgg

我从终端运行这些导入命令,它工作正常。 有人可以找出我的安装有什么问题吗?

阅读回溯。

您尝试汇入FigureCanvasQTAggbackend_qt4agg

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas

它试图从figure导入Figure

  File "/usr/lib/pymodules/python2.6/matplotlib/backends/backend_qt4agg.py", line 9, in <module>
    from matplotlib.figure import Figure

试图从axes导入一些东西:

  File "/usr/lib/pymodules/python2.6/matplotlib/figure.py", line 18, in <module>
    from axes import Axes, SubplotBase, subplot_class_factory

它还导入了几个模块。 注意最后一个, new

  File "/usr/lib/pymodules/python2.6/matplotlib/axes.py", line 2, in <module>
    import math, sys, warnings, datetime, new

它在哪里寻找? 代替内置模块,它转到

  File "/home/kasa/Desktop/new.py", line 25, in <module>

我想这是您的文件,它又返回了:

    from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas

Python意识到无法导入FigureCanvasQTAgg因为它发现自己处于循环导入地狱,因此出现错误:

ImportError: cannot import name FigureCanvasQTAgg

长话短说

您的文件将掩盖内置的new模块 解决方案很简单:重命名文件(并从文件夹中删除new.pyc )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM