def __init__(self, *args): Qt.QFrame.__init__(self, *args) self.setFrameStyle(Qt.QFrame.Box | Qt.QFrame.Raised) self.setLineWidth(2) self.setMidLineWidth(3) p = Qt.QPalette() p.setColor(self.backgroundRole(), Qt.QColor(30, 30, 50)) self.setPalette(p) # make curves and maps self.tuples = [] # curve 1 curve = Qwt.QwtPlotCurve() curve.setPen(Qt.QPen(Qt.QColor(150, 150, 200), 2)) curve.setCurveType(Qwt.QwtPlotCurve.Xfy) curve.setStyle(Qwt.QwtPlotCurve.Lines) curveFitter = Qwt.QwtSplineCurveFitter() curveFitter.setSplineSize(150) curve.setCurveFitter(curveFitter) curve.setSymbol( Qwt.QwtSymbol(Qwt.QwtSymbol.XCross, Qt.QBrush(), Qt.QPen(Qt.Qt.yellow, 2), Qt.QSize(7, 7))) self.tuples.append((curve, Qwt.QwtScaleMap(0, 100, -1.5, 1.5), Qwt.QwtScaleMap(0, 100, 0.0, 2 * pi))) # curve 2 curve = Qwt.QwtPlotCurve() curve.setPen(Qt.QPen(Qt.QColor(200, 150, 50), 1, Qt.Qt.DashDotDotLine)) curve.setStyle(Qwt.QwtPlotCurve.Sticks) curve.setSymbol( Qwt.QwtSymbol(Qwt.QwtSymbol.Ellipse, Qt.QBrush(Qt.Qt.blue), Qt.QPen(Qt.Qt.yellow), Qt.QSize(5, 5))) self.tuples.append((curve, Qwt.QwtScaleMap(0, 100, 0.0, 2 * pi), Qwt.QwtScaleMap(0, 100, -3.0, 1.1))) # curve 3 curve = Qwt.QwtPlotCurve() curve.setPen(Qt.QPen(Qt.QColor(100, 200, 150))) curve.setStyle(Qwt.QwtPlotCurve.Lines) curve.setCurveAttribute(Qwt.QwtPlotCurve.Fitted) curveFitter = Qwt.QwtSplineCurveFitter() curveFitter.setFitMode(Qwt.QwtSplineCurveFitter.ParametricSpline) curveFitter.setSplineSize(200) curve.setCurveFitter(curveFitter) self.tuples.append( (curve, Qwt.QwtScaleMap(0, 100, -1.1, 3.0), Qwt.QwtScaleMap(0, 100, -1.1, 3.0))) # curve 4 curve = Qwt.QwtPlotCurve() curve.setPen(Qt.QPen(Qt.Qt.red)) curve.setStyle(Qwt.QwtPlotCurve.Lines) curve.setCurveAttribute(Qwt.QwtPlotCurve.Fitted) curveFitter = Qwt.QwtSplineCurveFitter() curveFitter.setSplineSize(200) curve.setCurveFitter(curveFitter) self.tuples.append( (curve, Qwt.QwtScaleMap(0, 100, -5.0, 1.1), Qwt.QwtScaleMap(0, 100, -1.1, 5.0))) # data self.phase = 0.0 self.base = arange(0.0, 2.01 * pi, 2 * pi / (USize - 1)) self.uval = cos(self.base) self.vval = sin(self.base) self.uval[1::2] *= 0.5 self.vval[1::2] *= 0.5 self.newValues() # start timer self.tid = self.startTimer(250)