c55392965f
- Lots of bug fixes - API change in PlotItem.plot(...) - Started replacing QObjectWorkaround with QWidget - Made plotCurveItems clickable - Added curve-following arrows
42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
# -*- coding: utf-8 -*-
|
|
from PyQt4 import QtGui, QtCore
|
|
"""For circumventing PyQt's lack of multiple inheritance (just until PySide becomes stable)"""
|
|
|
|
|
|
class Obj(QtCore.QObject):
|
|
def event(self, ev):
|
|
self.emit(QtCore.SIGNAL('event'), ev)
|
|
return QtCore.QObject.event(self, ev)
|
|
|
|
class QObjectWorkaround:
|
|
def __init__(self):
|
|
self._qObj_ = Obj()
|
|
self.connect(QtCore.SIGNAL('event'), self.event)
|
|
def connect(self, *args):
|
|
if args[0] is self:
|
|
return QtCore.QObject.connect(self._qObj_, *args[1:])
|
|
else:
|
|
return QtCore.QObject.connect(self._qObj_, *args)
|
|
def disconnect(self, *args):
|
|
return QtCore.QObject.disconnect(self._qObj_, *args)
|
|
def emit(self, *args):
|
|
return QtCore.QObject.emit(self._qObj_, *args)
|
|
def blockSignals(self, b):
|
|
return self._qObj_.blockSignals(b)
|
|
def setProperty(self, prop, val):
|
|
return self._qObj_.setProperty(prop, val)
|
|
def property(self, prop):
|
|
return self._qObj_.property(prop)
|
|
def event(self, ev):
|
|
pass
|
|
|
|
#class QGraphicsObject(QtGui.QGraphicsItem, QObjectWorkaround):
|
|
#def __init__(self, *args):
|
|
#QtGui.QGraphicsItem.__init__(self, *args)
|
|
#QObjectWorkaround.__init__(self)
|
|
|
|
class QGraphicsObject(QtGui.QGraphicsWidget):
|
|
def shape(self):
|
|
return QtGui.QGraphicsItem.shape(self)
|
|
|
|
#QGraphicsObject = QtGui.QGraphicsObject |