Qt backend in QMdiArea

The class matplotlib.backends.backend_qt4agg.FigureCanvasQTAgg works
well in a QWorkspace. But when I put it in a QMdiArea the resizing
slows down.

In Qt 4.5 the class QWorkspace is deprecated. The class QMdiArea
should be used instead.

In the attached code you can see the difference in the performance.

The project Simuvis (http://simuvis.de/wsb/) provides its own
implementation of FigureCanvasQTAgg the class FigureCanvasSV4
(http://svn.berlios.de/svnroot/repos/simuvis4/trunk/AdditionalPlugIns/MatPlot/MatPlot/backend_sv4agg.py).
This one works fine both in a QMdiArea and in a QWorkspace.

Regards
Magnus Benjes

import sys
from PyQt4 import QtGui, QtCore

import numpy
import matplotlib
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg

x = numpy.arange(0,10,0.1)
y = x**2

qApp = QtGui.QApplication(sys.argv)

mainWindowMdi = QtGui.QMainWindow()
mainWindowMdi.setWindowTitle("QMdiArea")
mdi = QtGui.QMdiArea()
mainWindowMdi.setCentralWidget(mdi)

c1 = FigureCanvasQTAgg(matplotlib.figure.Figure())
c1.figure.add_subplot(1,1,1).plot(x,x)
mdi.addSubWindow(c1)

c2 = FigureCanvasQTAgg(matplotlib.figure.Figure())
c2.figure.add_subplot(1,1,1).plot(x, x**2)
mdi.addSubWindow(c2)

mainWindowWorkspace = QtGui.QMainWindow()
mainWindowWorkspace.setWindowTitle("QWorkspace")
workspace = QtGui.QWorkspace()
mainWindowWorkspace.setCentralWidget(workspace)

c3 = FigureCanvasQTAgg(matplotlib.figure.Figure())
c3.figure.add_subplot(1,1,1).plot(x,x)
workspace.addWindow(c3)

c4 = FigureCanvasQTAgg(matplotlib.figure.Figure())
c4.figure.add_subplot(1,1,1).plot(x, x**2)
workspace.addWindow(c4)

mainWindowMdi.show()
mainWindowWorkspace.show()

sys.exit(qApp.exec_())