Exemple #1
0
    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)