Could you please try to simply disable the "Matplolib" patch option?
By default, Spyder is monkey-patching Matplotlib to ensure that the Qt
backend is selected (and eventually to add the figure options toolbar
button which has been integrated in Matplotlib v1.0).

We could separate the "set backend" part from the "options button"
part in this monkey-patch because this is the latter which is
responsible for this as it is importing PyQt objects (in Python 2.x,
this selects by default the PyQt API v1) before the ETS toolkit try to
select the PyQt API v2. Hence the warnings, and the traceback which
simply means that with PyQt API v1, the nameFilters method returns a
QStringList -which has no 'index' method- whereas it returns a Python
list object with PyQt API v2 -- that is what pyface is apparently
expecting.

I've just filled out an issue for this:
http://code.google.com/p/spyderlib/issues/detail?id=825

HTH
Pierre

Le 3 nov. 2011 à 20:59, Janwillem van Dijk <[email protected]> a écrit :

> When I run this small script from the command line (ubuntu 11.10) all is good.
>
> from traits.etsconfig.etsconfig import ETSConfig
> ETSConfig.toolkit = 'qt4'
> print 'toolkit: ',ETSConfig.toolkit
> from pyface.api import FileDialog, OK
> fdialog = FileDialog(action='open files',title='Choose files to open')
> if fdialog.open() == OK:
>    for fname in fdialog.paths:
>        print fname
> print 'finished'
>
> However, when running from within Spyder 2.1.1 (F5) I get the error messages 
> shown below. If I set the toolkit to 'wx', both command line and running from 
> within Spyder is OK. What is the meaning of the messages??
>
> toolkit:  qt4
> Warning/PyQt4-Spyder (API 'QString' has already been set to version 1)
> Warning/PyQt4-Spyder (API 'QVariant' has already been set to version 1)
> Traceback (most recent call last):
>  File "/home/......./test_fileopen.py", line 7, in <module>
>    if fdialog.open() == OK:
>  File "/usr/lib/python2.7/dist-packages/pyface/i_dialog.py", line 122, in open
>    self.close()
>  File "/usr/lib/python2.7/dist-packages/pyface/ui/qt4/file_dialog.py", line 
> 100, in close
>    self.wildcard_index = self.control.nameFilters().index(
> AttributeError: 'QStringList' object has no attribute 'index'
>
> Thanks, Janwillem
>
> --
> You received this message because you are subscribed to the Google Groups 
> "spyder" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/spyderlib?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/spyderlib?hl=en.

Reply via email to