Re: [PyQt] QWidget 'destroyed' signal: possible regression?

2012-03-10 Thread Pierre Raybaut
Well, you're quite merciless with my amateur programming skills...

Anyway, thanks for taking the time to take care of it. For what it's
worth, I prefer a rough exception than a silent fail. So your
conclusion is fine with me.

-Pierre

Le 4 mars 2012 à 14:49, Phil Thompson p...@riverbankcomputing.com a écrit :

 On Sun, 26 Feb 2012 16:23:26 +0100, Pierre Raybaut
 pierre.rayb...@gmail.com wrote:
 Hi Phil,

 I recently found out that a feature succesfully tested with older
 versions of PyQt was broken
 (http://code.google.com/p/spyderlib/issues/detail?id=951) and at the
 same time the Matplotlib developers contacted me for a similar issue
 (https://github.com/matplotlib/matplotlib/issues/711).

 To explain our problem, I wrote this test script:


 #-
 from PyQt4.QtGui import QApplication, QWidget
 from PyQt4.QtCore import Qt

 def print_from_function():
print Callback = Function

 class TestWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.destroyed.connect(print_from_function)
self.destroyed.connect(self.print_from_method)
self.destroyed.connect(self.print_from_static_method)
self.destroyed.connect(lambda:
 self.print_from_lambda_function())
self.setAttribute(Qt.WA_DeleteOnClose)

def print_from_method(self):
print Callback = method

@staticmethod
def print_from_static_method(self):
print Callback = static method

def print_from_lambda_function(self):
print Callback = lambda function

 app = QApplication([])
 widget = TestWidget()
 widget.show()
 app.exec_()

 #-

 The issue with the test script above is that all callbacks connected
 to the 'destroyed' signal are triggered except for the callback which
 is a method (bound to the object to be destroyed).

 So the question is: is this a regression from PyQt v4.8.5? (or earlier)

 First off I think that connecting the destroyed() signal to a method of
 the object being destroyed is a bug. There are no guarantees about the
 state of the object when the signal is emitted.

 The change in behaviour was introduced in SIP v4.10.3 released July 2010.
 As far as I can tell the change was made because I thought it was a good
 idea rather than in response to a bug report. The intent would have been to
 eliminate any C/C++ object has been deleted exceptions - but, as in this
 case, the slot may not make any calls that would trigger an exception.

 With hindsight I think I will back out the change. I dislike the
 inconsistency in behaviour more than I dislike the buggy application code.

 Phil
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] QWidget 'destroyed' signal: possible regression?

2012-02-26 Thread Pierre Raybaut
Hi Phil,

I recently found out that a feature succesfully tested with older
versions of PyQt was broken
(http://code.google.com/p/spyderlib/issues/detail?id=951) and at the
same time the Matplotlib developers contacted me for a similar issue
(https://github.com/matplotlib/matplotlib/issues/711).

To explain our problem, I wrote this test script:

#-
from PyQt4.QtGui import QApplication, QWidget
from PyQt4.QtCore import Qt

def print_from_function():
print Callback = Function

class TestWidget(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.destroyed.connect(print_from_function)
self.destroyed.connect(self.print_from_method)
self.destroyed.connect(self.print_from_static_method)
self.destroyed.connect(lambda: self.print_from_lambda_function())
self.setAttribute(Qt.WA_DeleteOnClose)

def print_from_method(self):
print Callback = method

@staticmethod
def print_from_static_method(self):
print Callback = static method

def print_from_lambda_function(self):
print Callback = lambda function

app = QApplication([])
widget = TestWidget()
widget.show()
app.exec_()
#-

The issue with the test script above is that all callbacks connected
to the 'destroyed' signal are triggered except for the callback which
is a method (bound to the object to be destroyed).

So the question is: is this a regression from PyQt v4.8.5? (or earlier)

Thanks,
-Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Strange bug with QFileDialog static methods and IPython running in a QProcess on win32

2010-06-20 Thread Pierre Raybaut
Hi Phil,

I did a lot of tests about this bug and I still can't understand where it
comes from.
At least I've succeeded in narrowing down the test cases:

* test #1:

from PyQt4.QtGui import QFileDialog, QApplication
app = QApplication([])

filename = QFileDialog.getSaveFileName(None)


* test #2:


from PyQt4.QtGui import QFileDialog, QPushButton, QApplication

from PyQt4.QtCore import SIGNAL

app = QApplication([])

button = QPushButton(Test, None)

button.connect(button, SIGNAL(clicked()),

lambda: QFileDialog.getSaveFileName(None))

button.show()

app.exec_()


I'm running these tests in Spyder's external console: this is a console
widget (QPlainTextEdit) showing stdin, stdout and stderr of a Python or
IPython interpreter running in a QProcess (see this screenshot:
http://spyderlib.googlegroups.com/web/ipython.png).
Running test #1 is a success in every situation (simple Python interpreter
or IPython running).
On the contrary, running test #2 gives the following results:
* simple Python interpreter: ok
* IPython: the GUI freezes when clicking the button, and it unfreezes
when sending something in QProcess' stdin (like pressing ENTER in the
console).

Apparently the only difference between these two tests is that I'm running
QApplication's event loop in test #2.
But note that this freezing situation is only happening for QFileDialog's
static methods (getOpenFileName, getSaveFileName, and so on) and is never
happening for other kinds of widgets or dialog boxes... and I remember
seeing a message in stdout when using these methods in PyQt v4.3 (something
like redirecting in win32 console) suggesting that these methods were
doing weird things on stdin/stdout and that it could be related to this bug.

I'm stuck with this bug, so I would really appreciate your help!
Note that it's excellent news to be able to embed IPython in a PyQt-based
IDE: this will be the first time an IDE is able to provide such powerful
feature... so this is also great news for PyQt!

Thanks,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] [ANN] Spyder v1.0.3 released

2010-01-17 Thread Pierre Raybaut

Hi all,

I'm pleased to announce here that Spyder version 1.0.3 has been released:
http://packages.python.org/spyder

__Important__
Spyder v1.0.3 is a *critical* bugfix release (bonus: new Apply button 
in matplotlib's figure options editor).



Previously known as Pydee, Spyder (Scientific PYthon Development
EnviRonment) is a free open-source Python development environment
providing MATLAB-like features in a simple and light-weighted
software, available for Windows XP/Vista/7, GNU/Linux and MacOS X:
   * advanced code editing features (code analysis, ...)
   * interactive console with MATLAB-like workpace (with GUI-based
list, dictionary, tuple, text and array editors -- screenshots:
http://packages.python.org/spyder/console.html#the-workspace) and
integrated matplotlib figures
   * external console to open an interpreter or run a script in a
separate process (with a global variable explorer providing the same
features as the interactive console's workspace)
   * code analysis with pyflakes and pylint
   * search in files features
   * documentation viewer: automatically retrieves docstrings or
source code of the function/class called in the interactive/external
console
   * integrated file/directories explorer
   * MATLAB-like path management
   ...and more!

Spyder is part of spyderlib, a Python module based on PyQt4 and
QScintilla2 which provides powerful console-related PyQt4 widgets.

- Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] [ANN] Spyder v1.0.2 released

2010-01-10 Thread Pierre Raybaut

Hi all,

I'm pleased to announce here that Spyder version 1.0.2 has been released:
http://packages.python.org/spyder

Previously known as Pydee, Spyder (Scientific PYthon Development
EnviRonment) is a free open-source Python development environment
providing MATLAB-like features in a simple and light-weighted
software, available for Windows XP/Vista/7, GNU/Linux and MacOS X:
   * advanced code editing features (code analysis, ...)
   * interactive console with MATLAB-like workpace (with GUI-based
list, dictionary, tuple, text and array editors -- screenshots:
http://packages.python.org/spyder/console.html#the-workspace) and
integrated matplotlib figures
   * external console to open an interpreter or run a script in a
separate process (with a global variable explorer providing the same
features as the interactive console's workspace)
   * code analysis with pyflakes and pylint
   * search in files features
   * documentation viewer: automatically retrieves docstrings or
source code of the function/class called in the interactive/external
console
   * integrated file/directories explorer
   * MATLAB-like path management
   ...and more!

Spyder is part of spyderlib, a Python module based on PyQt4 and
QScintilla2 which provides powerful console-related PyQt4 widgets.

Spyder v1.0.2 is a bugfix release:
* External console: subprocess python calls were using the external 
console's sitecustomize.py (instead of system sitecustomize.py)

* Added workaround for PyQt4 v4.6+ major bug with matplotlib
* Added option to customize the way matplotlib figures are embedded 
(docked or floating window)

* Matplotlib's Option dialog box is now supporting subplots
* Array editor now supports complex arrays
* Editor: replaced Run selection or current line option by Run 
selection or current block (without selection, this feature is similar 
to MATLAB's cell mode)

* ...and a lot of minor bugfixes.

- Pierre


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Regressions on destruction of objects?

2009-11-07 Thread Pierre Raybaut
FYI, with PyQt4 v4.6.1, the matplotlib's Qt4 backend is no longer usable 
interactively because the 'destroyed()' signal is not emitted when 
matplotlib's figure (QMainWindow instance) is closed (and destroyed, 
thanks to the Qt.WA_DeleteOnClose attribute). In other words, one can 
only show one figure with matplotlib/PyQt4 v4.6.1.


Is there going to be a v4.6.2 release soon with this issue fixed?

Thanks,
Cheers,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] [ANN] Spyder v1.0.0 released

2009-10-18 Thread Pierre Raybaut

Hi all,

I'm pleased to announce here that Spyder version 1.0.0 has been released:
http://packages.python.org/spyder

Previously known as Pydee, Spyder (Scientific PYthon Development
EnviRonment) is a free open-source Python development environment
providing MATLAB-like features in a simple and light-weighted
software, available for Windows XP/Vista/7, GNU/Linux and MacOS X:
   * advanced code editing features (code analysis, ...)
   * interactive console with MATLAB-like workpace (with GUI-based
list, dictionary, tuple, text and array editors -- screenshots:
http://packages.python.org/spyder/console.html#the-workspace) and
integrated matplotlib figures
   * external console to open an interpreter or run a script in a
separate process (with a global variable explorer providing the same
features as the interactive console's workspace)
   * code analysis with pyflakes and pylint
   * search in files features
   * documentation viewer: automatically retrieves docstrings or
source code of the function/class called in the interactive/external
console
   * integrated file/directories explorer
   * MATLAB-like path management
   ...and more!

Spyder is part of spyderlib, a Python module based on PyQt4 and
QScintilla2 which provides powerful console-related PyQt4 widgets.

I would like to thanks here all the Spyder users and especially the beta 
testers and contributors: without them, Spyder wouldn't be as stable, 
easy-to-use and full-featured as it is.


- Pierre

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Is QScintilla slower/more buggy than its wxPython counterpart?

2009-08-17 Thread Pierre Raybaut
2009/8/17 Phil Thompson p...@riverbankcomputing.com:
 On Sun, 16 Aug 2009 08:56:56 +0200, Pierre Raybaut cont...@pythonxy.com
 wrote:
 Hi,

 Following a bug report on Spyder (PKA Pydee, the Scientific PYthon
 Development EnviRonment), I've just wrote a simple test with PyQt4 and
 QScintilla:
 http://spyderlib.googlecode.com/files/qscitest.py

 This simple test shows two things (maybe bugs?):
 1. QScintilla widget is very slow when writing long lines (it gets
 better when wrapping is turned on, but it's still far slower than its
 wxPython counterpart)
 2. when a long line is written, horizontal scroll does not allow to see
 the end of the line... that is quite disappointing.

 So my questions are:
 a. Are these issues known bugs?

 I'll take a look.

 b. Is there a way to improve performance without switching to
 QTextEdit...?

 If QTextEdit is all you need then you should use it.

 Phil

Actually I'm really using QScintilla features like code completion,
brace matching, markers and syntax coloring.
So switching to QTextEdit would require a lot of work and I'm sure
you'll agree that a debugged QScintilla is the best choice for all
than to develop another module based on QTextEdit to fit only my
needs.

Thanks for taking the time to look at this.

Cheers,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Is QScintilla slower/more buggy than its wxPython counterpart?

2009-08-16 Thread Pierre Raybaut

Hi,

Following a bug report on Spyder (PKA Pydee, the Scientific PYthon 
Development EnviRonment), I've just wrote a simple test with PyQt4 and 
QScintilla:

http://spyderlib.googlecode.com/files/qscitest.py

This simple test shows two things (maybe bugs?):
1. QScintilla widget is very slow when writing long lines (it gets 
better when wrapping is turned on, but it's still far slower than its 
wxPython counterpart)
2. when a long line is written, horizontal scroll does not allow to see 
the end of the line... that is quite disappointing.


So my questions are:
a. Are these issues known bugs?
b. Is there a way to improve performance without switching to QTextEdit...?

Thanks for your help,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Truncated text in menu titles, tabs, and other widgets

2009-07-26 Thread Pierre Raybaut

Hi all,

I had several bug reports for Pydee project 
(http://code.google.com/p/pydee/) regarding what seems to be a 
PyQt-related bug:

   - symptoms: truncated text in menu titles, tabs and other widgets ;
   - example: 
http://pydee.googlecode.com/issues/attachment?aid=-9175874176276135624name=Capture.png
   - apparently, it happens with PyQt 4.4.4 (with Qt 4.4.3 and Python 
2.5.2) on Ubuntu 8.10 64bits (not sure it's related to the corresponding 
debian package though...).


Any idea?

Thanks,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Bug: PyQt4 4.3.3 with py2exe 0.6.9 and pywin32 2.13 on Python 2.5

2009-06-20 Thread Pierre Raybaut

Hi all,

FYI, here is a viscious bug I found: it may appear if you have installed 
py2exe 0.6.9, pywin32 2.13 and PyQt4 4.3.3 on Python 2.5 (using the 
official binaries for each of these packages).



Example:

#---
from PyQt4.QtGui import QApplication, QFileDialog
import sys
STDOUT = sys.stdout

def file_open(parent=None):
   File open dialog usable inside/outside a PyQt4 application
   if QApplication.startingUp():
   QApplication([]) # You have to create a QApplication instance first

   default_dir =  # Default directory
   sys.stdout = None # Avoid the Redirecting output to win32trace
 # remote collector message from showing in stdout
   filename = QFileDialog.getOpenFileName(parent, Title, default_dir,
  All files (*.*))
   sys.stdout = STDOUT
   if filename:
   return unicode(filename)

print file_open()
#---

Traceback:

Traceback (most recent call last):
 File boot_com_servers.py, line 21, in module
 File C:\Python25\lib\site-packages\pythoncom.py, line 3, in module
   pywintypes.__import_pywin32_system_module__(pythoncom, globals())
 File C:\Python25\lib\site-packages\win32\lib\pywintypes.py, line 
111, in __import_pywin32_system_module__

   mod = imp.load_dynamic(modname, found)
ImportError: DLL load failed [...]


So, with this configuration, if you call any of the QFileDialog 
(PyQt4.QtGui) static methods - i.e. getSaveFileName, 
getExistingDirectory and so on, an exception will be raised showing a 
message like ImportError: DLL load failed [...].
The reason of this ImportError is quite clear: some PyQt4's DLL are 
loaded at static memory addresses (that's the way the official binaries 
have been built), so an import order has to be respected, otherwise when 
importing pywin32's pywintypes25.dll the memory address is already 
occupied and the module can't be imported.
On the contrary, I have no idea (I must confess that as soon as I found 
a way to avoid this error, I stop looking for answers) why py2exe's 
boot_com_servers.py (see traceback below) is executed when calling 
these QFileDialog methods, causing the pywin32's pythoncom module to be 
imported.



Solution:

#---
try:
   # PyQt4 4.3.3 on Windows (static DLLs) with py2exe and pywin32 
installed:
   # - pythoncom must be imported first, otherwise py2exe's 
boot_com_servers
   #will raise an exception (ImportError: DLL load failed) when 
calling

   #any of the QFileDialog static methods (getOpenFileName, ...)
   import pythoncom
except ImportError:
   pass

from PyQt4.QtGui import QApplication, QFileDialog
import sys
STDOUT = sys.stdout

def file_open(parent=None):
   File open dialog usable inside/outside a PyQt4 application
   if QApplication.startingUp():
   QApplication([]) # You have to create a QApplication instance first

   default_dir =  # Default directory
   sys.stdout = None # Avoid the Redirecting output to win32trace
 # remote collector message from showing in stdout
   filename = QFileDialog.getOpenFileName(parent, Title, default_dir,
  All files (*.*))
   sys.stdout = STDOUT
   if filename:
   return unicode(filename)

print file_open()
#---

Bug fixed! (or at least avoided)

Cheers,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] AttributeError: installTranslator

2009-03-29 Thread Pierre Raybaut

Hi,

I had a bug report last week on PyQtShell Google Code site and I can't 
see what's wrong.
Here it the traceback (where app is a QApplication instance and 
qt_translator is a QTranslator instance):


traceback:
Traceback (most recent call last):
 File /usr/bin/pydee, line 8, in module
   load_entry_point('PyQtShell==0.3.14', 'gui_scripts', 'pydee')()
 File
/usr/lib/python2.5/site-packages/PyQtShell-0.3.14-py2.5.egg/PyQtShell/pydee.py,
line 595, in main
   app.installTranslator(qt_translator)
AttributeError: installTranslator

Any guess?

Thanks,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Pydee v0.3.0

2009-03-10 Thread Pierre Raybaut

Hi all,

Two months ago, I made an announcement regarding a little open-source 
project of mine, PyQtShell -- that is a module providing embeddable 
console widgets for your PyQt applications (interactive Python shell, 
workspace, working directory browser, editor, ...) as well as Pydee, a 
PYthon Development EnvironmEnt based on these widgets (which could 
become an interesting alternative to IDLE for example).


Pydee features have been greatly enhanced these last weeks, and a lot of 
bugs were fixed thanks to Christopher Brown (thank you again Christopher 
for your bug reports/feature requests which are always very detailed and 
constructive).


I recently (a few minutes ago actually..) added an interesting feature 
in Pydee v0.3.0: matplotlib integration (i.e. matplotlib figures can be 
docked inside Pydee which is quite convenient).

See this screenshot for example:
http://source.pythonxy.com/PyQtShell/screenshots/ss3.png

Other screenshots and informations:
http://pypi.python.org/pypi/PyQtShell/
http://code.google.com/p/pyqtshell/

As some of you may have noticed, Pydee is intended to be a mini-MATLAB 
environment -- that being said, it still at an early stage of development.


Cheers,
Pierre

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] PyQtShell

2009-01-23 Thread Pierre Raybaut


Message: 7
Date: Sun, 18 Jan 2009 22:07:57 -0800 (PST)
From: eliben eli...@gmail.com
Subject: Re: [PyQt] PyQtShell
To: pyqt@riverbankcomputing.com
Message-ID: 21537432.p...@talk.nabble.com
Content-Type: text/plain; charset=us-ascii




Pierre Raybaut wrote:
  
 
 Hi all,
 
 I would like to share with you this little open-source project of mine, 
 PyQtShell:

 http://pypi.python.org/pypi/PyQtShell/
 http://code.google.com/p/pyqtshell/
 
 I've just started it a few days ago and I worked on it only a couple of 
 hours at home this week and saturday morning... so do not expect a 
 revolution here.
 But I thought that some of you might be interested in contributing or 
 simply testing it.
 
 Here is an extract from the Google Code website:
 
 PyQtShell is intended to be an extension to PyQt4 (module PyQt4.QtShell) 
 providing a console application (see screenshots below) based on 
 independent widgets which interact with each other:
 - QShell, a Python shell with useful options (like a '-os' switch 
 for importing os and os.path as osp, a '-pylab' switch for importing 
 matplotlib in interactive mode, ...) and advanced features like code 
 completion (requires QScintilla, i.e. module PyQt4.Qsci)

 - CurrentDirChanger: shows the current directory and allows to change
 it
 Not implemented :
 - GlobalsExplorer: shows globals() list with some properties for 
 each global (e.g. value for int or float, min and max values for arrays, 
 ...) and allows to open an appropriate GUI editor

 - and other widgets: FileExplorer, CodeEditor, ...
 



Hi Pierre,

How can I contact you regarding contributing to the shell's code?

Eli

  
I'm very sorry, I completely missed all replies made to my post, I was 
too busy working on PyQtShell on my free time :)


Eli, I see that you've found out how to contact me.
The best way to contribute to the code is to use Mercurial, either by 
creating a clone of the read-only repository at 
http://source.pythonxy.com/PyQtShell/, or by downloading the source 
archive (on Google Code: http://code.google.com/p/pyqtshell/).
After that, you may update your local repository by doing a Pull from 
time to time. And if you want to contribute, send me your diff files 
by e-mail, I'll integrate them with great pleasure.


Frederic, I know about pyqonsole (and about Logilab too: we are working 
together on a project at my research center, CEA/DAM) and PyQtShell is - 
until now at least - intended to be only emulating the Python 
interpreter without emulating any kind of terminal (which is a 
limitation but it has the advantage to simplify greatly the code).


Cheers,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] PyQt 4.4.4 win32 binaries for Python 2.5

2008-12-23 Thread Pierre Raybaut

Hi Phil,

I see that PyQt 4.4.4 win32 binaries are still available only for Python 
2.6.

Have you considered distributing binaries for Python 2.5?

I guess that a lot of PyQt users are still depending on Python 2.5, and 
since building PyQt is not a 5-minutes task (please consider that it's 
much longer for other people than yourself ;) ) distributing these 
binaries would be very useful -- I would also distribute them through 
Python(x,y).
Unless the 4.4.4 release is not worth the effort? (I mean when compared 
to the 4.4.3 release, not from a general point of view!)


Thanks,
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] PyQt and 3D visualization

2008-08-06 Thread Pierre Raybaut
Hi Phil,

As I probably already mentioned, I'm very interested in PyQt for
scientific GUI programming, i.e. GUI embedding classic widgets as well
as 2D and 3D plots.
Matplotlib + PyQt can help programming rapidly this kind of GUI.

However, when it comes to 3D visualization, it seems that Enthought is
a step ahead with TVTK which is using wxPython - adding the missing
pythonic interface to VTK *and* ready-to-use widgets for visualization
purpose with Trait.

I saw on Enthought code website that a Qt backend is being developed
for Trait (and I think that you are involved in this project).
(Q1) There is not much information on this, so I'm not sure I
understand correctly: do you know if this means that, for example, one
could use TVTK with a Qt backend?

Another related question:
(Q2) Is there a way to embend VTK objects in PyQt GUI without
reinventing the wheel, i.e. with features similar to those of TVTK
(basic tools that one could put in a toolbar: rotation, zoom,
projections, ...)?

Thanks for your help,
Regards,
Pierre Raybaut
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


Re: [PyQt] Bug - PyQt 4.4.2 and Matplotlib 0.91.2

2008-06-01 Thread Pierre Raybaut

Darren Dale a écrit :

On Friday 30 May 2008 5:22:44 pm Pierre Raybaut wrote:
  

Hi,

I found out a performance bug when embedding a Matplotlib 0.91.2 canvas
in a PyQt 4.4.2 object: the pan/zoom feature is very slow (with PyQt
4.3.3, and the exact same scripts, pan/zoom is real-time).

I am posting this in Matplotlib mailing-list too, but I thought that
maybe some of you could have an idea about this?



I don't think it is appropriate to post here unless it can be demonstrated 
that there is a performance issue specifically related to PyQt and not 
Matplotlib or Qt. We continue this discussion on the matplotlib mailing list.
  
I thought that it may be useful for people to keep this in mind just in 
case (one could have experienced a similar problem and have an idea on 
how to solve it, and then I would have eventually switch to matplotlib 
mailing-list).
I posted this message for PyQt users *information* only: that's why I 
mentioned that I've posted on the matplotlib mailing-list too (which was 
obviously the real bug report).

___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Bug - PyQt 4.4.2 and Matplotlib 0.91.2

2008-05-30 Thread Pierre Raybaut

Hi,

I found out a performance bug when embedding a Matplotlib 0.91.2 canvas 
in a PyQt 4.4.2 object: the pan/zoom feature is very slow (with PyQt 
4.3.3, and the exact same scripts, pan/zoom is real-time).


I am posting this in Matplotlib mailing-list too, but I thought that 
maybe some of you could have an idea about this?


Thanks for your help!
Regards,
Pierre Raybaut
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Re: PyQt 4.4.2 GPL installer / missing DLL

2008-05-25 Thread Pierre Raybaut


Date: Sat, 24 May 2008 14:49:33 +0200 From: Thorsten Kampe 
[EMAIL PROTECTED] Subject: [PyQt] Re: PyQt 4.4.2 GPL 
installer / missing DLL To: pyqt@riverbankcomputing.com Message-ID: 
[EMAIL PROTECTED] Content-Type: text/plain; charset=utf-8 
* Python(x,y) (Sat, 24 May 2008 09:33:00 +0200)

 Phil Thompson a écrit :


  On Friday 23 May 2008 6:47:11 pm Pierre Raybaut wrote:
  

  About this missing DLL issue, the main difference between the 4.3.3 and
  4.4.x Windows installer releases seems to be about the .dll management.
  Apparently, since 4.4.1 release, for example, there is not only a
  QtCore.pyd file but also a QtCore4.dll and so on. Hence the new add to
  path installer feature, for Windows to find the QtCore4.dll. The problem
  is that MATLAB for example is also using a QtCore4.dll (which is built with
  MSVS2005, hence the missing MSVCP80.dll error), and Windows find the MATLAB
  directory first when searching the PATH environment variable... so, PyQt is
  currently not compatible with MATLAB for example, which is quite a serious
  problem for me and a lot of scientific users I know. Unless you have a
  solution to this PATH conflicting issue?
  


  Just add a .bat file around one of them with a specific PATH set up.
 
  

 in order to run MATLAB with a specific PATH set up?
 If that's what you meant, I really can't do that for two reasons.



I had this problem, too (just not with Matlab). I copied the DLLs to the 
site-packages/PyQt4 folder. Not a clean solution but it works. Another 
possibility would be to /move/ the exes and DLLs to the pyd folder. But 
then Qt Assistant might not find the help files.


Thorsten

Thanks Thorsten, good to know.
If it works, why not doing it directly in the PyQt4 GPL installer, Phil?
In fact, that would be great if the add directory to PATH thing would 
not be necessary any more, just like before (with the 4.3.3 release).


Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Re: PyQt Digest, Vol 46, Issue 51

2008-05-25 Thread Pierre Raybaut


If I were you I'd ignore the PyQt installer (in the same way I ignore the Qt 
installer) and install PyQt from your own installer in a way that suits your 
users.
I could do that... but the main idea of my way of redistributing Python 
packages was to avoid reinventing the wheel: that's why I chose to run 
ready-to-install packages silently (distutils .Exe, MSI installers, NSIS 
installers and so on).

Re-packaging installers takes more time, and limits the update rate.
So I think I will simply stay with 4.3.3 release...

Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


[PyQt] Re: PyQt 4.4.2 GPL installer / missing DLL

2008-05-23 Thread Pierre Raybaut
I know where it comes from: Qt-Eclipse Integration package was interfering
with the new PyQt installer...

2008/5/22 Pierre Raybaut [EMAIL PROTECTED]:

 I didn't have much time to test this, so I must have missed something
 (sorry!): in fact, on a fresh Windows XP SP2 install, all is working well
 with Python 2.5.2, PyQt 4.4.2, matplotlib 0.91.2 and NumPy 1.0.4.

 However, with Python(x,y) distribution installed, when I simply uninstall
 PyQt 4.3.3 and then install PyQt 4.4.2, I get the missing MSVCP80.dll error
 when importing QtCore module for example (of course everything is ok with
 PyQt 4.3.3 even with the whole Python(x,y) distro installed).
 So, I really don't know how, but it must be related to the new release...

 Pierre
 2008/5/22 Python(x,y) [EMAIL PROTECTED]:

  2008/5/21 Phil Thompson [EMAIL PROTECTED]:

 On Wednesday 21 May 2008 13:45:42 [EMAIL PROTECTED] wrote:
  BTW, I still get the missing dll error (MSVCP80.DLL) when running
  Python/PyQt scripts with the 4.4.2 release.

 Which is MSVC 2005 isn't it?

  As Python is built with MSVC 2003 and PyQt and Qt
 are built with MinGW then I don't see how that can happen.


 Phil


 Hi Phil,

 Actually, after testing it on a clean Windows VM, I found out that this
 missing DLL issue was not entirely related to the new PyQt release. PyQt
 examples are indeed all working well (BTW, your example launcher is very
 good-looking!).
 However, this missing DLL error occurs every time you launch scripts using
 matplotlib objects embedded in PyQt 4.4.2 GUIs. So I guess that the
 matplotlib Qt4 backend is not compatible with PyQt 4.4.x. I will post on
 matplotlib mailing list about this.

 Anyway, I'll have to wait until this bug is corrected to update
 Python(x,y) distro.

 Thanks,
 Pierre

 --
 Pierre Raybaut
 Python(x,y)
 http://www.pythonxy.com




___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Re: [PyQt] PyQt 4.4.2 GPL installer / Silent install not really silent...

2008-05-23 Thread Pierre Raybaut
2008/5/21 Phil Thompson [EMAIL PROTECTED]:

  On Wednesday 21 May 2008 12:35:39 Python(x,y) wrote:
  2008/5/21 Phil Thompson [EMAIL PROTECTED]:
So my question is: would it be possible to update PATH for all users
without showing this dialog box when the installer is running in
 silent
mode?
  
   I assume it is possible - I'm not an NSIS expert.
  
   Phil
 
  Actually I meant: would it be possible for you to add a control statement
  using IfSilent in your NSIS script to skip this dialog box if installer
  was run in silent mode?

 What do you want to happen when silent? Add the directory to the current
 user's PATH? Do nothing?

 Phil


Could you please send a message when PyQt installer can be launched
silently?
That is the last reason for me to wait before updating PyQt in Python(x,y).

Thanks a lot.
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] Re: PyQt 4.4.2 GPL installer / missing DLL

2008-05-23 Thread Pierre Raybaut
About this missing DLL issue, the main difference between the 4.3.3 and
4.4.x Windows installer releases seems to be about the .dll management.
Apparently, since 4.4.1 release, for example, there is not only a QtCore.pyd
file but also a QtCore4.dll and so on. Hence the new add to path installer
feature, for Windows to find the QtCore4.dll. The problem is that MATLAB for
example is also using a QtCore4.dll (which is built with MSVS2005, hence the
missing MSVCP80.dll error), and Windows find the MATLAB directory first when
searching the PATH environment variable... so, PyQt is currently not
compatible with MATLAB for example, which is quite a serious problem for me
and a lot of scientific users I know. Unless you have a solution to this
PATH conflicting issue?

Thanks for your help.
Pierre
___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

[PyQt] Re: PyQt 4.4.2 GPL installer / missing DLL

2008-05-22 Thread Pierre Raybaut
I didn't have much time to test this, so I must have missed something
(sorry!): in fact, on a fresh Windows XP SP2 install, all is working well
with Python 2.5.2, PyQt 4.4.2, matplotlib 0.91.2 and NumPy 1.0.4.

However, with Python(x,y) distribution installed, when I simply uninstall
PyQt 4.3.3 and then install PyQt 4.4.2, I get the missing MSVCP80.dll error
when importing QtCore module for example (of course everything is ok with
PyQt 4.3.3 even with the whole Python(x,y) distro installed).
So, I really don't know how, but it must be related to the new release...

Pierre
2008/5/22 Python(x,y) [EMAIL PROTECTED]:

 2008/5/21 Phil Thompson [EMAIL PROTECTED]:

 On Wednesday 21 May 2008 13:45:42 [EMAIL PROTECTED] wrote:
  BTW, I still get the missing dll error (MSVCP80.DLL) when running
  Python/PyQt scripts with the 4.4.2 release.

 Which is MSVC 2005 isn't it?

  As Python is built with MSVC 2003 and PyQt and Qt
 are built with MinGW then I don't see how that can happen.


 Phil


 Hi Phil,

 Actually, after testing it on a clean Windows VM, I found out that this
 missing DLL issue was not entirely related to the new PyQt release. PyQt
 examples are indeed all working well (BTW, your example launcher is very
 good-looking!).
 However, this missing DLL error occurs every time you launch scripts using
 matplotlib objects embedded in PyQt 4.4.2 GUIs. So I guess that the
 matplotlib Qt4 backend is not compatible with PyQt 4.4.x. I will post on
 matplotlib mailing list about this.

 Anyway, I'll have to wait until this bug is corrected to update Python(x,y)
 distro.

 Thanks,
 Pierre

 --
 Pierre Raybaut
 Python(x,y)
 http://www.pythonxy.com


___
PyQt mailing listPyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt