b25e34f564
- Canvas: added per-item context menus - Isocurve: option to extend curves to array boundaries option to generate QPainterPath instead of vertex array - Isosurface is a bajillion times faster - ViewBox added clear() method added locate(item) method (shows where an item is for debugging) Bugfixes: - automated example testing working properly - Exporter gets incorrect source rect when operating on PlotWidget - Set correct DPI and size for SVG exporter - GLMeshItem works properly with whole-mesh color specified as sequence - bugfix in functions.transformCoordinates for rotated matrices - reload library checks for modules that are imported multiple times - GraphicsObject, UIGraphicsItem: added workaround for PyQt / itemChange bug - ScatterPlotItem: disable cached render during export Other: - added documentation for several functions - minor updates to setup.py
32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
from pyqtgraph.Qt import QtGui, QtCore, USE_PYSIDE
|
|
if not USE_PYSIDE:
|
|
import sip
|
|
from .GraphicsItem import GraphicsItem
|
|
|
|
__all__ = ['GraphicsObject']
|
|
class GraphicsObject(GraphicsItem, QtGui.QGraphicsObject):
|
|
"""
|
|
**Bases:** :class:`GraphicsItem <pyqtgraph.graphicsItems.GraphicsItem>`, :class:`QtGui.QGraphicsObject`
|
|
|
|
Extension of QGraphicsObject with some useful methods (provided by :class:`GraphicsItem <pyqtgraph.graphicsItems.GraphicsItem>`)
|
|
"""
|
|
_qtBaseClass = QtGui.QGraphicsObject
|
|
def __init__(self, *args):
|
|
QtGui.QGraphicsObject.__init__(self, *args)
|
|
self.setFlag(self.ItemSendsGeometryChanges)
|
|
GraphicsItem.__init__(self)
|
|
|
|
def itemChange(self, change, value):
|
|
ret = QtGui.QGraphicsObject.itemChange(self, change, value)
|
|
if change in [self.ItemParentHasChanged, self.ItemSceneHasChanged]:
|
|
self._updateView()
|
|
if change in [self.ItemPositionHasChanged, self.ItemTransformHasChanged]:
|
|
self.informViewBoundsChanged()
|
|
|
|
## workaround for pyqt bug:
|
|
## http://www.riverbankcomputing.com/pipermail/pyqt/2012-August/031818.html
|
|
if not USE_PYSIDE and change == self.ItemParentChange and isinstance(ret, QtGui.QGraphicsItem):
|
|
ret = sip.cast(ret, QtGui.QGraphicsItem)
|
|
|
|
return ret
|