使用QT4的Matplotlib图编辑器

时间:2013-08-16 13:28:14

标签: python matplotlib qt4 traits

我正在使用Python 2.7,Matplotlib版本1.2.1,QT4 4.9.6构建GUI。目标是能够加载图像,重新缩放图像,并执行其他小操作。由于我从MATLAB脚本移植GUI,因此使用Matplotlib以及所有类似的命令等等是有意义的。

由于目前还没有标准的matplotlib traits编辑器,所以我使用this文章来帮助构建编辑器。一切都在Spyder 2.2.0中运行得很好,但是在Eclipse中我获得了一个18项的回溯(这里复制了最后几行):

File "C:\Python27\lib\site-packages\traitsui\qt4\ui_panel.py", line 572, in __init__
  layout = self._add_items(content, inner)
File "C:\Python27\lib\site-packages\traitsui\qt4\ui_panel.py", line 909, in _add_items
  self._set_item_size_policy(editor, item, label, stretch)
File "C:\Python27\lib\site-packages\traitsui\qt4\ui_panel.py", line 1002, in   _set_item_size_policy
  is_item_resizable, is_item_springy, stretch)
File "C:\Python27\lib\site-packages\traitsui\qt4\editor.py", line 388, in set_size_policy
  policy.setHorizontalPolicy(QtGui.QSizePolicy.Expanding)
TypeError: QSizePolicy.setHorizontalPolicy(QSizePolicy.Policy): argument 1 has unexpected type 'PySide.QtGui.QSizePolicy.Policy'

在Spyder中,我将“QT-Python绑定库”设置为PySide。有没有人知道为什么Eclipse中存在冲突而Spyder没有冲突?谢谢!

1 个答案:

答案 0 :(得分:1)

想出这个,所需要的只是设置一个环境默认值(通过查看Spyder启动脚本并检查我在Eclipse中没做的操作来找到它):

os.environ.setdefault('QT_API','pyside')