Hi!
Am 05.11.2010 um 15:57 schrieb Gaƫtan Podevijn:
> Maybe could you take a look at matplotlib [1] ?
>
> [1] http://matplotlib.sourceforge.net
Oh, good idea - I'll attach some code for embedding MPL plots in PyQt. IIRC
this is just a refactored / more bare-bone version of something I found on the
web.
HTH,
Hans
[resent to the list, did not mean to send privately]
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
from PyQt4.QtCore import QSize
from PyQt4.QtGui import QSizePolicy
class MPLWidget(FigureCanvas):
"""Ultimately, this is a QWidget (as well as a FigureCanvasAgg, etc.)."""
__slots__ = ("_figure", "_axes", "_minimumSizeHint")
def __init__(self, parent = None, width = 5, height = 4, dpi = 100,
minimumSize = QSize(128, 128), bgcolor = None):
# find camouflage background color:
if parent and bgcolor is None:
bg = parent.palette().color(parent.backgroundRole())
bgcolor = (bg.red() / 255.0,
bg.green() / 255.0,
bg.blue() / 255.0)
# create MPL figure:
self._figure = Figure(
figsize = (width, height), dpi = dpi,
facecolor = bgcolor, edgecolor = bgcolor)
FigureCanvas.__init__(self, self._figure)
self.setParent(parent) # FigureCanvas.__init__ has no parent argument :-(
self._axes = self._figure.add_subplot(111)
self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self._minimumSizeHint = minimumSize
def figure(self):
return self._figure
def sizeHint(self):
w = self._figure.get_figwidth()
h = self._figure.get_figheight()
return QSize(w, h)
def minimumSizeHint(self):
return self._minimumSizeHint
_______________________________________________
PyQt mailing list [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt