Switching to relative imports to allow pyqtgraph to be imported under other names.

finished top-level files and graphicsItems
This commit is contained in:
Luke Campagnola 2013-12-22 02:08:39 -05:00
parent 3488910810
commit f630734453
37 changed files with 161 additions and 171 deletions

View File

@ -2,7 +2,6 @@
from .Qt import QtCore, QtGui from .Qt import QtCore, QtGui
from .Point import Point from .Point import Point
import numpy as np import numpy as np
import pyqtgraph as pg
class SRTTransform(QtGui.QTransform): class SRTTransform(QtGui.QTransform):
"""Transform that can always be represented as a combination of 3 matrices: scale * rotate * translate """Transform that can always be represented as a combination of 3 matrices: scale * rotate * translate
@ -77,7 +76,7 @@ class SRTTransform(QtGui.QTransform):
self.update() self.update()
def setFromMatrix4x4(self, m): def setFromMatrix4x4(self, m):
m = pg.SRTTransform3D(m) m = SRTTransform3D(m)
angle, axis = m.getRotation() angle, axis = m.getRotation()
if angle != 0 and (axis[0] != 0 or axis[1] != 0 or axis[2] != 1): if angle != 0 and (axis[0] != 0 or axis[1] != 0 or axis[2] != 1):
print("angle: %s axis: %s" % (str(angle), str(axis))) print("angle: %s axis: %s" % (str(angle), str(axis)))
@ -256,4 +255,4 @@ if __name__ == '__main__':
w1.sigRegionChanged.connect(update) w1.sigRegionChanged.connect(update)
#w2.sigRegionChanged.connect(update2) #w2.sigRegionChanged.connect(update2)
from .SRTTransform3D import SRTTransform3D

View File

@ -1,17 +1,17 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from .Qt import QtCore, QtGui from .Qt import QtCore, QtGui
from .Vector import Vector from .Vector import Vector
from .SRTTransform import SRTTransform from .Transform3D import Transform3D
import pyqtgraph as pg from .Vector import Vector
import numpy as np import numpy as np
import scipy.linalg import scipy.linalg
class SRTTransform3D(pg.Transform3D): class SRTTransform3D(Transform3D):
"""4x4 Transform matrix that can always be represented as a combination of 3 matrices: scale * rotate * translate """4x4 Transform matrix that can always be represented as a combination of 3 matrices: scale * rotate * translate
This transform has no shear; angles are always preserved. This transform has no shear; angles are always preserved.
""" """
def __init__(self, init=None): def __init__(self, init=None):
pg.Transform3D.__init__(self) Transform3D.__init__(self)
self.reset() self.reset()
if init is None: if init is None:
return return
@ -44,14 +44,14 @@ class SRTTransform3D(pg.Transform3D):
def getScale(self): def getScale(self):
return pg.Vector(self._state['scale']) return Vector(self._state['scale'])
def getRotation(self): def getRotation(self):
"""Return (angle, axis) of rotation""" """Return (angle, axis) of rotation"""
return self._state['angle'], pg.Vector(self._state['axis']) return self._state['angle'], Vector(self._state['axis'])
def getTranslation(self): def getTranslation(self):
return pg.Vector(self._state['pos']) return Vector(self._state['pos'])
def reset(self): def reset(self):
self._state = { self._state = {
@ -169,7 +169,7 @@ class SRTTransform3D(pg.Transform3D):
def as2D(self): def as2D(self):
"""Return a QTransform representing the x,y portion of this transform (if possible)""" """Return a QTransform representing the x,y portion of this transform (if possible)"""
return pg.SRTTransform(self) return SRTTransform(self)
#def __div__(self, t): #def __div__(self, t):
#"""A / B == B^-1 * A""" #"""A / B == B^-1 * A"""
@ -202,11 +202,11 @@ class SRTTransform3D(pg.Transform3D):
self.update() self.update()
def update(self): def update(self):
pg.Transform3D.setToIdentity(self) Transform3D.setToIdentity(self)
## modifications to the transform are multiplied on the right, so we need to reverse order here. ## modifications to the transform are multiplied on the right, so we need to reverse order here.
pg.Transform3D.translate(self, *self._state['pos']) Transform3D.translate(self, *self._state['pos'])
pg.Transform3D.rotate(self, self._state['angle'], *self._state['axis']) Transform3D.rotate(self, self._state['angle'], *self._state['axis'])
pg.Transform3D.scale(self, *self._state['scale']) Transform3D.scale(self, *self._state['scale'])
def __repr__(self): def __repr__(self):
return str(self.saveState()) return str(self.saveState())
@ -311,4 +311,4 @@ if __name__ == '__main__':
w1.sigRegionChanged.connect(update) w1.sigRegionChanged.connect(update)
#w2.sigRegionChanged.connect(update2) #w2.sigRegionChanged.connect(update2)
from .SRTTransform import SRTTransform

View File

@ -1,4 +1,4 @@
from pyqtgraph.Qt import QtCore, QtGui from .Qt import QtCore, QtGui
class ThreadsafeTimer(QtCore.QObject): class ThreadsafeTimer(QtCore.QObject):
""" """

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from .Qt import QtCore, QtGui from .Qt import QtCore, QtGui
import pyqtgraph as pg from . import functions as fn
import numpy as np import numpy as np
class Transform3D(QtGui.QMatrix4x4): class Transform3D(QtGui.QMatrix4x4):
@ -26,7 +26,7 @@ class Transform3D(QtGui.QMatrix4x4):
Extends QMatrix4x4.map() to allow mapping (3, ...) arrays of coordinates Extends QMatrix4x4.map() to allow mapping (3, ...) arrays of coordinates
""" """
if isinstance(obj, np.ndarray) and obj.ndim >= 2 and obj.shape[0] in (2,3): if isinstance(obj, np.ndarray) and obj.ndim >= 2 and obj.shape[0] in (2,3):
return pg.transformCoordinates(self, obj) return fn.transformCoordinates(self, obj)
else: else:
return QtGui.QMatrix4x4.map(self, obj) return QtGui.QMatrix4x4.map(self, obj)

View File

@ -1,6 +1,6 @@
import numpy as np import numpy as np
import scipy.interpolate import scipy.interpolate
from pyqtgraph.Qt import QtGui, QtCore from .Qt import QtGui, QtCore
class ColorMap(object): class ColorMap(object):
""" """

View File

@ -24,7 +24,7 @@ SI_PREFIXES_ASCII = 'yzafpnum kMGTPEZY'
from .Qt import QtGui, QtCore, USE_PYSIDE from .Qt import QtGui, QtCore, USE_PYSIDE
import pyqtgraph as pg from . import getConfigOption, setConfigOptions
import numpy as np import numpy as np
import decimal, re import decimal, re
import ctypes import ctypes
@ -33,11 +33,11 @@ import sys, struct
try: try:
import scipy.ndimage import scipy.ndimage
HAVE_SCIPY = True HAVE_SCIPY = True
if pg.getConfigOption('useWeave'): if getConfigOption('useWeave'):
try: try:
import scipy.weave import scipy.weave
except ImportError: except ImportError:
pg.setConfigOptions(useWeave=False) setConfigOptions(useWeave=False)
except ImportError: except ImportError:
HAVE_SCIPY = False HAVE_SCIPY = False
@ -620,7 +620,7 @@ def rescaleData(data, scale, offset, dtype=None):
dtype = np.dtype(dtype) dtype = np.dtype(dtype)
try: try:
if not pg.getConfigOption('useWeave'): if not getConfigOption('useWeave'):
raise Exception('Weave is disabled; falling back to slower version.') raise Exception('Weave is disabled; falling back to slower version.')
## require native dtype when using weave ## require native dtype when using weave
@ -647,10 +647,10 @@ def rescaleData(data, scale, offset, dtype=None):
newData = newData.astype(dtype) newData = newData.astype(dtype)
data = newData.reshape(data.shape) data = newData.reshape(data.shape)
except: except:
if pg.getConfigOption('useWeave'): if getConfigOption('useWeave'):
if pg.getConfigOption('weaveDebug'): if getConfigOption('weaveDebug'):
debug.printExc("Error; disabling weave.") debug.printExc("Error; disabling weave.")
pg.setConfigOption('useWeave', False) setConfigOptions(useWeave=False)
#p = np.poly1d([scale, -offset*scale]) #p = np.poly1d([scale, -offset*scale])
#data = p(data).astype(dtype) #data = p(data).astype(dtype)

View File

@ -1,5 +1,5 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import pyqtgraph.functions as fn from .. import functions as fn
import numpy as np import numpy as np
__all__ = ['ArrowItem'] __all__ = ['ArrowItem']

View File

@ -1,11 +1,11 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from pyqtgraph.python2_3 import asUnicode from ..python2_3 import asUnicode
import numpy as np import numpy as np
from pyqtgraph.Point import Point from ..Point import Point
import pyqtgraph.debug as debug from .. import debug as debug
import weakref import weakref
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph as pg from .. import getConfigOption
from .GraphicsWidget import GraphicsWidget from .GraphicsWidget import GraphicsWidget
__all__ = ['AxisItem'] __all__ = ['AxisItem']
@ -268,8 +268,8 @@ class AxisItem(GraphicsWidget):
def pen(self): def pen(self):
if self._pen is None: if self._pen is None:
return fn.mkPen(pg.getConfigOption('foreground')) return fn.mkPen(getConfigOption('foreground'))
return pg.mkPen(self._pen) return fn.mkPen(self._pen)
def setPen(self, pen): def setPen(self, pen):
""" """
@ -280,8 +280,8 @@ class AxisItem(GraphicsWidget):
self._pen = pen self._pen = pen
self.picture = None self.picture = None
if pen is None: if pen is None:
pen = pg.getConfigOption('foreground') pen = getConfigOption('foreground')
self.labelStyle['color'] = '#' + pg.colorStr(pg.mkPen(pen).color())[:6] self.labelStyle['color'] = '#' + fn.colorStr(fn.mkPen(pen).color())[:6]
self.setLabel() self.setLabel()
self.update() self.update()

View File

@ -1,8 +1,10 @@
import pyqtgraph as pg from ..Qt import QtGui, QtCore
from pyqtgraph.Qt import QtGui, QtCore
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .. import getConfigOption
from .. import functions as fn
import numpy as np import numpy as np
__all__ = ['BarGraphItem'] __all__ = ['BarGraphItem']
class BarGraphItem(GraphicsObject): class BarGraphItem(GraphicsObject):
@ -61,7 +63,7 @@ class BarGraphItem(GraphicsObject):
pens = self.opts['pens'] pens = self.opts['pens']
if pen is None and pens is None: if pen is None and pens is None:
pen = pg.getConfigOption('foreground') pen = getConfigOption('foreground')
brush = self.opts['brush'] brush = self.opts['brush']
brushes = self.opts['brushes'] brushes = self.opts['brushes']
@ -112,13 +114,13 @@ class BarGraphItem(GraphicsObject):
raise Exception('must specify either y1 or height') raise Exception('must specify either y1 or height')
height = y1 - y0 height = y1 - y0
p.setPen(pg.mkPen(pen)) p.setPen(fn.mkPen(pen))
p.setBrush(pg.mkBrush(brush)) p.setBrush(fn.mkBrush(brush))
for i in range(len(x0)): for i in range(len(x0)):
if pens is not None: if pens is not None:
p.setPen(pg.mkPen(pens[i])) p.setPen(fn.mkPen(pens[i]))
if brushes is not None: if brushes is not None:
p.setBrush(pg.mkBrush(brushes[i])) p.setBrush(fn.mkBrush(brushes[i]))
if np.isscalar(y0): if np.isscalar(y0):
y = y0 y = y0

View File

@ -1,4 +1,4 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
__all__ = ['ButtonItem'] __all__ = ['ButtonItem']

View File

@ -1,7 +1,7 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from . import ArrowItem from . import ArrowItem
import numpy as np import numpy as np
from pyqtgraph.Point import Point from ..Point import Point
import weakref import weakref
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject

View File

@ -1,6 +1,7 @@
import pyqtgraph as pg from ..Qt import QtGui, QtCore
from pyqtgraph.Qt import QtGui, QtCore
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .. import getConfigOption
from .. import functions as fn
__all__ = ['ErrorBarItem'] __all__ = ['ErrorBarItem']
@ -121,8 +122,8 @@ class ErrorBarItem(GraphicsObject):
self.drawPath() self.drawPath()
pen = self.opts['pen'] pen = self.opts['pen']
if pen is None: if pen is None:
pen = pg.getConfigOption('foreground') pen = getConfigOption('foreground')
p.setPen(pg.mkPen(pen)) p.setPen(fn.mkPen(pen))
p.drawPath(self.path) p.drawPath(self.path)
def boundingRect(self): def boundingRect(self):

View File

@ -1,23 +1,24 @@
import pyqtgraph as pg from ..Qt import QtGui
from .. import functions as fn
class FillBetweenItem(pg.QtGui.QGraphicsPathItem): class FillBetweenItem(QtGui.QGraphicsPathItem):
""" """
GraphicsItem filling the space between two PlotDataItems. GraphicsItem filling the space between two PlotDataItems.
""" """
def __init__(self, p1, p2, brush=None): def __init__(self, p1, p2, brush=None):
pg.QtGui.QGraphicsPathItem.__init__(self) QtGui.QGraphicsPathItem.__init__(self)
self.p1 = p1 self.p1 = p1
self.p2 = p2 self.p2 = p2
p1.sigPlotChanged.connect(self.updatePath) p1.sigPlotChanged.connect(self.updatePath)
p2.sigPlotChanged.connect(self.updatePath) p2.sigPlotChanged.connect(self.updatePath)
if brush is not None: if brush is not None:
self.setBrush(pg.mkBrush(brush)) self.setBrush(fn.mkBrush(brush))
self.setZValue(min(p1.zValue(), p2.zValue())-1) self.setZValue(min(p1.zValue(), p2.zValue())-1)
self.updatePath() self.updatePath()
def updatePath(self): def updatePath(self):
p1 = self.p1.curve.path p1 = self.p1.curve.path
p2 = self.p2.curve.path p2 = self.p2.curve.path
path = pg.QtGui.QPainterPath() path = QtGui.QPainterPath()
path.addPolygon(p1.toSubpathPolygons()[0] + p2.toReversed().toSubpathPolygons()[0]) path.addPolygon(p1.toSubpathPolygons()[0] + p2.toReversed().toSubpathPolygons()[0])
self.setPath(path) self.setPath(path)

View File

@ -1,11 +1,11 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from pyqtgraph.python2_3 import sortList from ..python2_3 import sortList
import pyqtgraph.functions as fn from .. import functions as fn
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .GraphicsWidget import GraphicsWidget from .GraphicsWidget import GraphicsWidget
import weakref import weakref
from pyqtgraph.pgcollections import OrderedDict from ..pgcollections import OrderedDict
from pyqtgraph.colormap import ColorMap from ..colormap import ColorMap
import numpy as np import numpy as np

View File

@ -1,6 +1,6 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .UIGraphicsItem import * from .UIGraphicsItem import *
import pyqtgraph.functions as fn from .. import functions as fn
__all__ = ['GradientLegend'] __all__ = ['GradientLegend']

View File

@ -1,7 +1,7 @@
from .. import functions as fn from .. import functions as fn
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .ScatterPlotItem import ScatterPlotItem from .ScatterPlotItem import ScatterPlotItem
import pyqtgraph as pg from ..Qt import QtGui, QtCore
import numpy as np import numpy as np
__all__ = ['GraphItem'] __all__ = ['GraphItem']
@ -71,11 +71,11 @@ class GraphItem(GraphicsObject):
self.picture = None self.picture = None
def generatePicture(self): def generatePicture(self):
self.picture = pg.QtGui.QPicture() self.picture = QtGui.QPicture()
if self.pen is None or self.pos is None or self.adjacency is None: if self.pen is None or self.pos is None or self.adjacency is None:
return return
p = pg.QtGui.QPainter(self.picture) p = QtGui.QPainter(self.picture)
try: try:
pts = self.pos[self.adjacency] pts = self.pos[self.adjacency]
pen = self.pen pen = self.pen
@ -86,14 +86,14 @@ class GraphItem(GraphicsObject):
if np.any(pen != lastPen): if np.any(pen != lastPen):
lastPen = pen lastPen = pen
if pen.dtype.fields is None: if pen.dtype.fields is None:
p.setPen(pg.mkPen(color=(pen[0], pen[1], pen[2], pen[3]), width=1)) p.setPen(fn.mkPen(color=(pen[0], pen[1], pen[2], pen[3]), width=1))
else: else:
p.setPen(pg.mkPen(color=(pen['red'], pen['green'], pen['blue'], pen['alpha']), width=pen['width'])) p.setPen(fn.mkPen(color=(pen['red'], pen['green'], pen['blue'], pen['alpha']), width=pen['width']))
p.drawLine(pg.QtCore.QPointF(*pts[i][0]), pg.QtCore.QPointF(*pts[i][1])) p.drawLine(QtCore.QPointF(*pts[i][0]), QtCore.QPointF(*pts[i][1]))
else: else:
if pen == 'default': if pen == 'default':
pen = pg.getConfigOption('foreground') pen = getConfigOption('foreground')
p.setPen(pg.mkPen(pen)) p.setPen(fn.mkPen(pen))
pts = pts.reshape((pts.shape[0]*pts.shape[1], pts.shape[2])) pts = pts.reshape((pts.shape[0]*pts.shape[1], pts.shape[2]))
path = fn.arrayToQPath(x=pts[:,0], y=pts[:,1], connect='pairs') path = fn.arrayToQPath(x=pts[:,0], y=pts[:,1], connect='pairs')
p.drawPath(path) p.drawPath(path)
@ -103,7 +103,7 @@ class GraphItem(GraphicsObject):
def paint(self, p, *args): def paint(self, p, *args):
if self.picture == None: if self.picture == None:
self.generatePicture() self.generatePicture()
if pg.getConfigOption('antialias') is True: if getConfigOption('antialias') is True:
p.setRenderHint(p.Antialiasing) p.setRenderHint(p.Antialiasing)
self.picture.play(p) self.picture.play(p)

View File

@ -1,9 +1,9 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from pyqtgraph.GraphicsScene import GraphicsScene from ..GraphicsScene import GraphicsScene
from pyqtgraph.Point import Point from ..Point import Point
import pyqtgraph.functions as fn from .. import functions as fn
import weakref import weakref
from pyqtgraph.pgcollections import OrderedDict from ..pgcollections import OrderedDict
import operator, sys import operator, sys
class FiniteCache(OrderedDict): class FiniteCache(OrderedDict):

View File

@ -1,5 +1,5 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import pyqtgraph.functions as fn from .. import functions as fn
from .GraphicsWidget import GraphicsWidget from .GraphicsWidget import GraphicsWidget
## Must be imported at the end to avoid cyclic-dependency hell: ## Must be imported at the end to avoid cyclic-dependency hell:
from .ViewBox import ViewBox from .ViewBox import ViewBox

View File

@ -1,4 +1,4 @@
from pyqtgraph.Qt import QtGui, QtCore, USE_PYSIDE from ..Qt import QtGui, QtCore, USE_PYSIDE
if not USE_PYSIDE: if not USE_PYSIDE:
import sip import sip
from .GraphicsItem import GraphicsItem from .GraphicsItem import GraphicsItem

View File

@ -1,5 +1,5 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from pyqtgraph.GraphicsScene import GraphicsScene from ..GraphicsScene import GraphicsScene
from .GraphicsItem import GraphicsItem from .GraphicsItem import GraphicsItem
__all__ = ['GraphicsWidget'] __all__ = ['GraphicsWidget']

View File

@ -1,8 +1,8 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .UIGraphicsItem import * from .UIGraphicsItem import *
import numpy as np import numpy as np
from pyqtgraph.Point import Point from ..Point import Point
import pyqtgraph.functions as fn from .. import functions as fn
__all__ = ['GridItem'] __all__ = ['GridItem']
class GridItem(UIGraphicsItem): class GridItem(UIGraphicsItem):

View File

@ -3,8 +3,8 @@ GraphicsWidget displaying an image histogram along with gradient editor. Can be
""" """
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import pyqtgraph.functions as fn from .. import functions as fn
from .GraphicsWidget import GraphicsWidget from .GraphicsWidget import GraphicsWidget
from .ViewBox import * from .ViewBox import *
from .GradientEditorItem import * from .GradientEditorItem import *
@ -12,10 +12,10 @@ from .LinearRegionItem import *
from .PlotDataItem import * from .PlotDataItem import *
from .AxisItem import * from .AxisItem import *
from .GridItem import * from .GridItem import *
from pyqtgraph.Point import Point from ..Point import Point
import pyqtgraph.functions as fn from .. import functions as fn
import numpy as np import numpy as np
import pyqtgraph.debug as debug from .. import debug as debug
__all__ = ['HistogramLUTItem'] __all__ = ['HistogramLUTItem']

View File

@ -1,8 +1,8 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import numpy as np import numpy as np
import collections import collections
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph.debug as debug from .. import debug as debug
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
__all__ = ['ImageItem'] __all__ = ['ImageItem']

View File

@ -1,7 +1,7 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from pyqtgraph.Point import Point from ..Point import Point
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
import pyqtgraph.functions as fn from .. import functions as fn
import numpy as np import numpy as np
import weakref import weakref

View File

@ -1,8 +1,8 @@
from .GraphicsObject import * from .GraphicsObject import *
import pyqtgraph.functions as fn from .. import functions as fn
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
class IsocurveItem(GraphicsObject): class IsocurveItem(GraphicsObject):

View File

@ -1,4 +1,4 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
__all__ = ['ItemGroup'] __all__ = ['ItemGroup']

View File

@ -1,8 +1,8 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph as pg
from .GraphicsWidget import GraphicsWidget from .GraphicsWidget import GraphicsWidget
from .GraphicsWidgetAnchor import GraphicsWidgetAnchor from .GraphicsWidgetAnchor import GraphicsWidgetAnchor
from .. import getConfigOption
__all__ = ['LabelItem'] __all__ = ['LabelItem']
@ -54,7 +54,7 @@ class LabelItem(GraphicsWidget, GraphicsWidgetAnchor):
color = self.opts['color'] color = self.opts['color']
if color is None: if color is None:
color = pg.getConfigOption('foreground') color = getConfigOption('foreground')
color = fn.mkColor(color) color = fn.mkColor(color)
optlist.append('color: #' + fn.colorStr(color)[:6]) optlist.append('color: #' + fn.colorStr(color)[:6])
if 'size' in opts: if 'size' in opts:

View File

@ -3,8 +3,9 @@ from .LabelItem import LabelItem
from ..Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .. import functions as fn from .. import functions as fn
from ..Point import Point from ..Point import Point
from .ScatterPlotItem import ScatterPlotItem
from .PlotDataItem import PlotDataItem
from .GraphicsWidgetAnchor import GraphicsWidgetAnchor from .GraphicsWidgetAnchor import GraphicsWidgetAnchor
import pyqtgraph as pg
__all__ = ['LegendItem'] __all__ = ['LegendItem']
class LegendItem(GraphicsWidget, GraphicsWidgetAnchor): class LegendItem(GraphicsWidget, GraphicsWidgetAnchor):
@ -152,21 +153,21 @@ class ItemSample(GraphicsWidget):
p.setPen(fn.mkPen(None)) p.setPen(fn.mkPen(None))
p.drawPolygon(QtGui.QPolygonF([QtCore.QPointF(2,18), QtCore.QPointF(18,2), QtCore.QPointF(18,18)])) p.drawPolygon(QtGui.QPolygonF([QtCore.QPointF(2,18), QtCore.QPointF(18,2), QtCore.QPointF(18,18)]))
if not isinstance(self.item, pg.ScatterPlotItem): if not isinstance(self.item, ScatterPlotItem):
p.setPen(fn.mkPen(opts['pen'])) p.setPen(fn.mkPen(opts['pen']))
p.drawLine(2, 18, 18, 2) p.drawLine(2, 18, 18, 2)
symbol = opts.get('symbol', None) symbol = opts.get('symbol', None)
if symbol is not None: if symbol is not None:
if isinstance(self.item, pg.PlotDataItem): if isinstance(self.item, PlotDataItem):
opts = self.item.scatter.opts opts = self.item.scatter.opts
pen = pg.mkPen(opts['pen']) pen = fn.mkPen(opts['pen'])
brush = pg.mkBrush(opts['brush']) brush = fn.mkBrush(opts['brush'])
size = opts['size'] size = opts['size']
p.translate(10,10) p.translate(10,10)
path = pg.graphicsItems.ScatterPlotItem.drawSymbol(p, symbol, size, pen, brush) path = ScatterPlotItem.drawSymbol(p, symbol, size, pen, brush)

View File

@ -1,8 +1,8 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .UIGraphicsItem import UIGraphicsItem from .UIGraphicsItem import UIGraphicsItem
from .InfiniteLine import InfiniteLine from .InfiniteLine import InfiniteLine
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph.debug as debug from .. import debug as debug
__all__ = ['LinearRegionItem'] __all__ = ['LinearRegionItem']

View File

@ -1,17 +1,17 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
try: try:
from pyqtgraph.Qt import QtOpenGL from ..Qt import QtOpenGL
HAVE_OPENGL = True HAVE_OPENGL = True
except: except:
HAVE_OPENGL = False HAVE_OPENGL = False
import numpy as np import numpy as np
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
import pyqtgraph.functions as fn from .. import functions as fn
from pyqtgraph import debug from ..Point import Point
from pyqtgraph.Point import Point
import pyqtgraph as pg
import struct, sys import struct, sys
from .. import getConfigOption
from .. import debug
__all__ = ['PlotCurveItem'] __all__ = ['PlotCurveItem']
class PlotCurveItem(GraphicsObject): class PlotCurveItem(GraphicsObject):
@ -65,7 +65,7 @@ class PlotCurveItem(GraphicsObject):
'brush': None, 'brush': None,
'stepMode': False, 'stepMode': False,
'name': None, 'name': None,
'antialias': pg.getConfigOption('antialias'), 'antialias': getConfigOption('antialias'),
'connect': 'all', 'connect': 'all',
'mouseWidth': 8, # width of shape responding to mouse click 'mouseWidth': 8, # width of shape responding to mouse click
} }
@ -399,13 +399,13 @@ class PlotCurveItem(GraphicsObject):
self._mouseShape = None self._mouseShape = None
return self.path return self.path
@pg.debug.warnOnException ## raising an exception here causes crash @debug.warnOnException ## raising an exception here causes crash
def paint(self, p, opt, widget): def paint(self, p, opt, widget):
profiler = debug.Profiler() profiler = debug.Profiler()
if self.xData is None: if self.xData is None:
return return
if HAVE_OPENGL and pg.getConfigOption('enableExperimental') and isinstance(widget, QtOpenGL.QGLWidget): if HAVE_OPENGL and getConfigOption('enableExperimental') and isinstance(widget, QtOpenGL.QGLWidget):
self.paintGL(p, opt, widget) self.paintGL(p, opt, widget)
return return

View File

@ -1,12 +1,12 @@
import pyqtgraph.metaarray as metaarray from .. import metaarray as metaarray
from pyqtgraph.Qt import QtCore from ..Qt import QtCore
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .PlotCurveItem import PlotCurveItem from .PlotCurveItem import PlotCurveItem
from .ScatterPlotItem import ScatterPlotItem from .ScatterPlotItem import ScatterPlotItem
import numpy as np import numpy as np
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph.debug as debug from .. import debug as debug
import pyqtgraph as pg from .. import getConfigOption
class PlotDataItem(GraphicsObject): class PlotDataItem(GraphicsObject):
""" """
@ -152,7 +152,7 @@ class PlotDataItem(GraphicsObject):
'symbolBrush': (50, 50, 150), 'symbolBrush': (50, 50, 150),
'pxMode': True, 'pxMode': True,
'antialias': pg.getConfigOption('antialias'), 'antialias': getConfigOption('antialias'),
'pointMode': None, 'pointMode': None,
'downsample': 1, 'downsample': 1,

View File

@ -12,16 +12,16 @@ The ROI class is meant to serve as the base for more specific types; see several
of how to build an ROI at the bottom of the file. of how to build an ROI at the bottom of the file.
""" """
from pyqtgraph.Qt import QtCore, QtGui from ..Qt import QtCore, QtGui
#if not hasattr(QtCore, 'Signal'): #if not hasattr(QtCore, 'Signal'):
#QtCore.Signal = QtCore.pyqtSignal #QtCore.Signal = QtCore.pyqtSignal
import numpy as np import numpy as np
from numpy.linalg import norm from numpy.linalg import norm
import scipy.ndimage as ndimage import scipy.ndimage as ndimage
from pyqtgraph.Point import * from ..Point import *
from pyqtgraph.SRTTransform import SRTTransform from ..SRTTransform import SRTTransform
from math import cos, sin from math import cos, sin
import pyqtgraph.functions as fn from .. import functions as fn
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
from .UIGraphicsItem import UIGraphicsItem from .UIGraphicsItem import UIGraphicsItem

View File

@ -1,10 +1,10 @@
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
from .GraphicsObject import * from .GraphicsObject import *
from .GraphicsWidgetAnchor import * from .GraphicsWidgetAnchor import *
from .TextItem import TextItem from .TextItem import TextItem
import numpy as np import numpy as np
import pyqtgraph.functions as fn from .. import functions as fn
import pyqtgraph as pg from .. import getConfigOption
__all__ = ['ScaleBar'] __all__ = ['ScaleBar']
@ -19,7 +19,7 @@ class ScaleBar(GraphicsObject, GraphicsWidgetAnchor):
self.setAcceptedMouseButtons(QtCore.Qt.NoButton) self.setAcceptedMouseButtons(QtCore.Qt.NoButton)
if brush is None: if brush is None:
brush = pg.getConfigOption('foreground') brush = getConfigOption('foreground')
self.brush = fn.mkBrush(brush) self.brush = fn.mkBrush(brush)
self.pen = fn.mkPen(pen) self.pen = fn.mkPen(pen)
self._width = width self._width = width

View File

@ -1,14 +1,14 @@
from pyqtgraph.Qt import QtGui, QtCore, USE_PYSIDE from ..Qt import QtGui, QtCore, USE_PYSIDE
from pyqtgraph.Point import Point from ..Point import Point
import pyqtgraph.functions as fn from .. import functions as fn
from .GraphicsItem import GraphicsItem from .GraphicsItem import GraphicsItem
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
import numpy as np import numpy as np
import weakref import weakref
import pyqtgraph.debug as debug from .. import getConfigOption
from pyqtgraph.pgcollections import OrderedDict from .. import debug as debug
import pyqtgraph as pg from ..pgcollections import OrderedDict
#import pyqtgraph as pg from .. import debug
__all__ = ['ScatterPlotItem', 'SpotItem'] __all__ = ['ScatterPlotItem', 'SpotItem']
@ -233,7 +233,7 @@ class ScatterPlotItem(GraphicsObject):
self.opts = { self.opts = {
'pxMode': True, 'pxMode': True,
'useCache': True, ## If useCache is False, symbols are re-drawn on every paint. 'useCache': True, ## If useCache is False, symbols are re-drawn on every paint.
'antialias': pg.getConfigOption('antialias'), 'antialias': getConfigOption('antialias'),
'name': None, 'name': None,
} }
@ -693,7 +693,7 @@ class ScatterPlotItem(GraphicsObject):
GraphicsObject.setExportMode(self, *args, **kwds) GraphicsObject.setExportMode(self, *args, **kwds)
self.invalidate() self.invalidate()
@pg.debug.warnOnException ## raising an exception here causes crash @debug.warnOnException ## raising an exception here causes crash
def paint(self, p, *args): def paint(self, p, *args):
#p.setPen(fn.mkPen('r')) #p.setPen(fn.mkPen('r'))

View File

@ -1,7 +1,7 @@
from pyqtgraph.Qt import QtCore, QtGui from ..Qt import QtCore, QtGui
import pyqtgraph as pg from ..Point import Point
from .UIGraphicsItem import * from .UIGraphicsItem import *
import pyqtgraph.functions as fn from .. import functions as fn
class TextItem(UIGraphicsItem): class TextItem(UIGraphicsItem):
""" """
@ -27,7 +27,7 @@ class TextItem(UIGraphicsItem):
#*angle* Angle in degrees to rotate text (note that the rotation assigned in this item's #*angle* Angle in degrees to rotate text (note that the rotation assigned in this item's
#transformation will be ignored) #transformation will be ignored)
self.anchor = pg.Point(anchor) self.anchor = Point(anchor)
#self.angle = 0 #self.angle = 0
UIGraphicsItem.__init__(self) UIGraphicsItem.__init__(self)
self.textItem = QtGui.QGraphicsTextItem() self.textItem = QtGui.QGraphicsTextItem()
@ -38,13 +38,13 @@ class TextItem(UIGraphicsItem):
self.setText(text, color) self.setText(text, color)
else: else:
self.setHtml(html) self.setHtml(html)
self.fill = pg.mkBrush(fill) self.fill = fn.mkBrush(fill)
self.border = pg.mkPen(border) self.border = fn.mkPen(border)
self.rotate(angle) self.rotate(angle)
self.setFlag(self.ItemIgnoresTransformations) ## This is required to keep the text unscaled inside the viewport self.setFlag(self.ItemIgnoresTransformations) ## This is required to keep the text unscaled inside the viewport
def setText(self, text, color=(200,200,200)): def setText(self, text, color=(200,200,200)):
color = pg.mkColor(color) color = fn.mkColor(color)
self.textItem.setDefaultTextColor(color) self.textItem.setDefaultTextColor(color)
self.textItem.setPlainText(text) self.textItem.setPlainText(text)
self.updateText() self.updateText()
@ -89,7 +89,7 @@ class TextItem(UIGraphicsItem):
#br = self.textItem.mapRectToParent(self.textItem.boundingRect()) #br = self.textItem.mapRectToParent(self.textItem.boundingRect())
self.textItem.setPos(0,0) self.textItem.setPos(0,0)
br = self.textItem.boundingRect() br = self.textItem.boundingRect()
apos = self.textItem.mapToParent(pg.Point(br.width()*self.anchor.x(), br.height()*self.anchor.y())) apos = self.textItem.mapToParent(Point(br.width()*self.anchor.x(), br.height()*self.anchor.y()))
#print br, apos #print br, apos
self.textItem.setPos(-apos.x(), -apos.y()) self.textItem.setPos(-apos.x(), -apos.y())

View File

@ -1,4 +1,4 @@
from pyqtgraph.Qt import QtGui, QtCore, USE_PYSIDE from ..Qt import QtGui, QtCore, USE_PYSIDE
import weakref import weakref
from .GraphicsObject import GraphicsObject from .GraphicsObject import GraphicsObject
if not USE_PYSIDE: if not USE_PYSIDE:

View File

@ -3,8 +3,8 @@ if __name__ == '__main__':
path = os.path.abspath(os.path.dirname(__file__)) path = os.path.abspath(os.path.dirname(__file__))
sys.path.insert(0, os.path.join(path, '..', '..')) sys.path.insert(0, os.path.join(path, '..', '..'))
from pyqtgraph.Qt import QtGui, QtCore from ..Qt import QtGui, QtCore
import pyqtgraph.functions as fn from .. import functions as fn
import weakref import weakref
from .UIGraphicsItem import UIGraphicsItem from .UIGraphicsItem import UIGraphicsItem
@ -97,17 +97,3 @@ class VTickGroup(UIGraphicsItem):
p.drawPath(self.path) p.drawPath(self.path)
if __name__ == '__main__':
app = QtGui.QApplication([])
import pyqtgraph as pg
vt = VTickGroup([1,3,4,7,9], [0.8, 1.0])
p = pg.plot()
p.addItem(vt)
if sys.flags.interactive == 0:
app.exec_()