コード例 #1
0
 def draw(self, painter, rect):
     if self.__data.paintAttributes & self.PaintBackground:
         if self.__data.borderPen != Qt.NoPen or\
            self.__data.backgroundBrush != Qt.NoBrush:
             painter.save()
             painter.setPen(self.__data.borderPen)
             painter.setBrush(self.__data.backgroundBrush)
             if self.__data.borderRadius == 0:
                 QwtPainter.drawRect(painter, rect)
             else:
                 painter.setRenderHint(QPainter.Antialiasing, True)
                 painter.drawRoundedRect(rect, self.__data.borderRadius,
                                         self.__data.borderRadius)
             painter.restore()
     painter.save()
     if self.__data.paintAttributes & self.PaintUsingTextFont:
         painter.setFont(self.__data.font)
     if self.__data.paintAttributes & self.PaintUsingTextColor:
         if self.__data.color.isValid():
             painter.setPen(self.__data.color)
     expandedRect = rect
     if self.__data.layoutAttributes & self.MinimumLayout:
         font = QFont(painter.font(), self.desktopwidget)
         (left, right, top,
          bottom) = self.__data.textEngine.textMargins(font)
         expandedRect.setTop(rect.top() - top)
         expandedRect.setBottom(rect.bottom() + bottom)
         expandedRect.setLeft(rect.left() - left)
         expandedRect.setRight(rect.right() + right)
     self.__data.textEngine.draw(painter, expandedRect,
                                 self.__data.renderFlags, self.__data.text)
     painter.restore()
コード例 #2
0
ファイル: symbol.py プロジェクト: gyenney/Tools
def qwtDrawRectSymbols(painter, points, numPoints, symbol):
    size = symbol.size()
    pen = QPen(symbol.pen())
    pen.setJoinStyle(Qt.MiterJoin)
    painter.setPen(pen)
    painter.setBrush(symbol.brush())
    painter.setRenderHint(QPainter.Antialiasing, False)
    if QwtPainter.roundingAlignment(painter):
        sw = size.width()
        sh = size.height()
        sw2 = size.width()//2
        sh2 = size.height()//2
        for pos in points:
            x = round(pos.x())
            y = round(pos.y())
            r = QRectF(x-sw2, y-sh2, sw, sh)
            QwtPainter.drawRect(painter, r)
    else:
        sw = size.width()
        sh = size.height()
        sw2 = .5*size.width()
        sh2 = .5*size.height()
        for pos in points:
            x = pos.x()
            y = pos.y()
            r = QRectF(x-sw2, y-sh2, sw, sh)
            QwtPainter.drawRect(painter, r)
コード例 #3
0
ファイル: symbol.py プロジェクト: gyenney/Tools
def qwtDrawRectSymbols(painter, points, numPoints, symbol):
    size = symbol.size()
    pen = QPen(symbol.pen())
    pen.setJoinStyle(Qt.MiterJoin)
    painter.setPen(pen)
    painter.setBrush(symbol.brush())
    painter.setRenderHint(QPainter.Antialiasing, False)
    if QwtPainter.roundingAlignment(painter):
        sw = size.width()
        sh = size.height()
        sw2 = size.width() // 2
        sh2 = size.height() // 2
        for pos in points:
            x = round(pos.x())
            y = round(pos.y())
            r = QRectF(x - sw2, y - sh2, sw, sh)
            QwtPainter.drawRect(painter, r)
    else:
        sw = size.width()
        sh = size.height()
        sw2 = .5 * size.width()
        sh2 = .5 * size.height()
        for pos in points:
            x = pos.x()
            y = pos.y()
            r = QRectF(x - sw2, y - sh2, sw, sh)
            QwtPainter.drawRect(painter, r)
コード例 #4
0
ファイル: text.py プロジェクト: petebachant/python-qwt
 def draw(self, painter, rect):
     if self.__data.paintAttributes & self.PaintBackground:
         if self.__data.borderPen != Qt.NoPen or\
            self.__data.backgroundBrush != Qt.NoBrush:
             painter.save()
             painter.setPen(self.__data.borderPen)
             painter.setBrush(self.__data.backgroundBrush)
             if self.__data.borderRadius == 0:
                 QwtPainter.drawRect(painter, rect)
             else:
                 painter.setRenderHint(QPainter.Antialiasing, True)
                 painter.drawRoundedRect(rect, self.__data.borderRadius,
                                         self.__data.borderRadius)
             painter.restore()
     painter.save()
     if self.__data.paintAttributes & self.PaintUsingTextFont:
         painter.setFont(self.__data.font)
     if self.__data.paintAttributes & self.PaintUsingTextColor:
         if self.__data.color.isValid():
             painter.setPen(self.__data.color)
     expandedRect = rect
     if self.__data.layoutAttributes & self.MinimumLayout:
         font = QFont(painter.font(), self.desktopwidget)
         (left, right, top, bottom
          ) = self.__data.textEngine.textMargins(font)
         expandedRect.setTop(rect.top()-top)
         expandedRect.setBottom(rect.bottom()+bottom)
         expandedRect.setLeft(rect.left()-left)
         expandedRect.setRight(rect.right()+right)
     self.__data.textEngine.draw(painter, expandedRect,
                                 self.__data.renderFlags, self.__data.text)
     painter.restore()
コード例 #5
0
 def drawColumn(self, painter, rect, sample):
     if self.__data.symbol and\
        self.__data.symbol.style() != QwtColumnSymbol.NoStyle:
         self.__data.symbol.draw(painter, rect)
     else:
         r = QRectF(rect.toRect())
         if QwtPainter.roundingAlignment(painter):
             r.setLeft(round(r.left()))
             r.setRight(round(r.right()))
             r.setTop(round(r.top()))
             r.setBottom(round(r.bottom()))
         QwtPainter.drawRect(painter, r)
コード例 #6
0
 def renderCanvas(self, plot, painter, canvasRect, maps):
     canvas = plot.canvas()
     r = canvasRect.adjusted(0., 0., -1., 1.)
     if self.__data.layoutFlags & self.FrameWithScales:
         painter.save()
         r.adjust(-1., -1., 1., 1.)
         painter.setPen(QPen(Qt.black))
         if not (self.__data.discardFlags & self.DiscardCanvasBackground):
             bgBrush = canvas.palette().brush(plot.backgroundRole())
             painter.setBrush(bgBrush)
         QwtPainter.drawRect(painter, r)
         painter.restore()
         painter.save()
         painter.setClipRect(canvasRect)
         plot.drawItems(painter, canvasRect, maps)
         painter.restore()
     elif canvas.testAttribute(Qt.WA_StyledBackground):
         clipPath = QPainterPath()
         painter.save()
         if not self.__data.discardFlags & self.DiscardCanvasBackground:
             QwtPainter.drawBackground(painter, r, canvas)
             clipPath = qwtCanvasClip(canvas, canvasRect)
         painter.restore()
         painter.save()
         if clipPath.isEmpty():
             painter.setClipRect(canvasRect)
         else:
             painter.setClipPath(clipPath)
         plot.drawItems(painter, canvasRect, maps)
         painter.restore()
     else:
         clipPath = QPainterPath()
         frameWidth = 0
         if not self.__data.discardFlags & self.DiscardCanvasFrame:
             frameWidth = canvas.frameWidth()
             clipPath = qwtCanvasClip(canvas, canvasRect)
         innerRect = canvasRect.adjusted(frameWidth, frameWidth,
                                         -frameWidth, -frameWidth)
         painter.save()
         if clipPath.isEmpty():
             painter.setClipRect(innerRect)
         else:
             painter.setClipPath(clipPath)
         if not self.__data.discardFlags & self.DiscardCanvasBackground:
             QwtPainter.drawBackground(painter, innerRect, canvas)
         plot.drawItems(painter, innerRect, maps)
         painter.restore()
         if frameWidth > 0:
             painter.save()
             frameStyle = canvas.frameShadow() | canvas.frameShape()
             frameWidth = canvas.frameWidth()
             borderRadius = canvas.borderRadius()
             if borderRadius > 0.:
                 QwtPainter.drawRoundedFrame(painter, canvasRect, r, r,
                                             canvas.palette(), frameWidth,
                                             frameStyle)
             else:
                 midLineWidth = canvas.midLineWidth()
                 QwtPainter.drawFrame(painter, canvasRect, canvas.palette(),
                                      canvas.foregroundRole(), frameWidth,
                                      midLineWidth, frameStyle)
             painter.restore()
コード例 #7
0
ファイル: plot_renderer.py プロジェクト: gyenney/Tools
    def renderCanvas(self, plot, painter, canvasRect, maps):
        """
        Render the canvas into a given rectangle.

        :param qwt.plot.QwtPlot plot: Plot widget
        :param QPainter painter: Painter
        :param qwt.scale_map.QwtScaleMap maps: mapping between plot and paint device coordinates
        :param QRectF rect: Bounding rectangle
        """
        canvas = plot.canvas()
        r = canvasRect.adjusted(0., 0., -1., 1.)
        if self.__data.layoutFlags & self.FrameWithScales:
            painter.save()
            r.adjust(-1., -1., 1., 1.)
            painter.setPen(QPen(Qt.black))
            if not (self.__data.discardFlags & self.DiscardCanvasBackground):
                bgBrush = canvas.palette().brush(plot.backgroundRole())
                painter.setBrush(bgBrush)
            QwtPainter.drawRect(painter, r)
            painter.restore()
            painter.save()
            painter.setClipRect(canvasRect)
            plot.drawItems(painter, canvasRect, maps)
            painter.restore()
        elif canvas.testAttribute(Qt.WA_StyledBackground):
            clipPath = QPainterPath()
            painter.save()
            if not self.__data.discardFlags & self.DiscardCanvasBackground:
                QwtPainter.drawBackground(painter, r, canvas)
                clipPath = qwtCanvasClip(canvas, canvasRect)
            painter.restore()
            painter.save()
            if clipPath.isEmpty():
                painter.setClipRect(canvasRect)
            else:
                painter.setClipPath(clipPath)
            plot.drawItems(painter, canvasRect, maps)
            painter.restore()
        else:
            clipPath = QPainterPath()
            frameWidth = 0
            if not self.__data.discardFlags & self.DiscardCanvasFrame:
                frameWidth = canvas.frameWidth()
                clipPath = qwtCanvasClip(canvas, canvasRect)
            innerRect = canvasRect.adjusted(frameWidth, frameWidth,
                                            -frameWidth, -frameWidth)
            painter.save()
            if clipPath.isEmpty():
                painter.setClipRect(innerRect)
            else:
                painter.setClipPath(clipPath)
            if not self.__data.discardFlags & self.DiscardCanvasBackground:
                QwtPainter.drawBackground(painter, innerRect, canvas)
            plot.drawItems(painter, innerRect, maps)
            painter.restore()
            if frameWidth > 0:
                painter.save()
                frameStyle = canvas.frameShadow() | canvas.frameShape()
                frameWidth = canvas.frameWidth()
                borderRadius = canvas.borderRadius()
                if borderRadius > 0.:
                    QwtPainter.drawRoundedFrame(painter, canvasRect, r, r,
                                                canvas.palette(), frameWidth,
                                                frameStyle)
                else:
                    midLineWidth = canvas.midLineWidth()
                    QwtPainter.drawFrame(painter, canvasRect, canvas.palette(),
                                         canvas.foregroundRole(), frameWidth,
                                         midLineWidth, frameStyle)
                painter.restore()
コード例 #8
0
 def renderCanvas(self, plot, painter, canvasRect, maps):
     canvas = plot.canvas()
     r = canvasRect.adjusted(0., 0., -1., 1.)
     if self.__data.layoutFlags & self.FrameWithScales:
         painter.save()
         r.adjust(-1., -1., 1., 1.)
         painter.setPen(QPen(Qt.black))
         if not (self.__data.discardFlags & self.DiscardCanvasBackground):
             bgBrush = canvas.palette().brush(plot.backgroundRole())
             painter.setBrush(bgBrush)
         QwtPainter.drawRect(painter, r)
         painter.restore()
         painter.save()
         painter.setClipRect(canvasRect)
         plot.drawItems(painter, canvasRect, maps)
         painter.restore()
     elif canvas.testAttribute(Qt.WA_StyledBackground):
         clipPath = QPainterPath()
         painter.save()
         if not self.__data.discardFlags & self.DiscardCanvasBackground:
             QwtPainter.drawBackground(painter, r, canvas)
             clipPath = qwtCanvasClip(canvas, canvasRect)
         painter.restore()
         painter.save()
         if clipPath.isEmpty():
             painter.setClipRect(canvasRect)
         else:
             painter.setClipPath(clipPath)
         plot.drawItems(painter, canvasRect, maps)
         painter.restore()
     else:
         clipPath = QPainterPath()
         frameWidth = 0
         if not self.__data.discardFlags & self.DiscardCanvasFrame:
             frameWidth = canvas.frameWidth()
             clipPath = qwtCanvasClip(canvas, canvasRect)
         innerRect = canvasRect.adjusted(frameWidth, frameWidth,
                                         -frameWidth, -frameWidth)
         painter.save()
         if clipPath.isEmpty():
             painter.setClipRect(innerRect)
         else:
             painter.setClipPath(clipPath)
         if not self.__data.discardFlags & self.DiscardCanvasBackground:
             QwtPainter.drawBackground(painter, innerRect, canvas)
         plot.drawItems(painter, innerRect, maps)
         painter.restore()
         if frameWidth > 0:
             painter.save()
             frameStyle = canvas.frameShadow() | canvas.frameShape()
             frameWidth = canvas.frameWidth()
             borderRadius = canvas.borderRadius()
             if borderRadius > 0.:
                 QwtPainter.drawRoundedFrame(painter, canvasRect, r, r,
                                             canvas.palette(), frameWidth,
                                             frameStyle)
             else:
                 midLineWidth = canvas.midLineWidth()
                 QwtPainter.drawFrame(painter, canvasRect, canvas.palette(),
                                      canvas.foregroundRole(), frameWidth,
                                      midLineWidth, frameStyle)
             painter.restore()
コード例 #9
0
ファイル: plot_renderer.py プロジェクト: gyenney/Tools
    def renderCanvas(self, plot, painter, canvasRect, maps):
        """
        Render the canvas into a given rectangle.

        :param qwt.plot.QwtPlot plot: Plot widget
        :param QPainter painter: Painter
        :param qwt.scale_map.QwtScaleMap maps: mapping between plot and paint device coordinates
        :param QRectF rect: Bounding rectangle
        """
        canvas = plot.canvas()
        r = canvasRect.adjusted(0.0, 0.0, -1.0, 1.0)
        if self.__data.layoutFlags & self.FrameWithScales:
            painter.save()
            r.adjust(-1.0, -1.0, 1.0, 1.0)
            painter.setPen(QPen(Qt.black))
            if not (self.__data.discardFlags & self.DiscardCanvasBackground):
                bgBrush = canvas.palette().brush(plot.backgroundRole())
                painter.setBrush(bgBrush)
            QwtPainter.drawRect(painter, r)
            painter.restore()
            painter.save()
            painter.setClipRect(canvasRect)
            plot.drawItems(painter, canvasRect, maps)
            painter.restore()
        elif canvas.testAttribute(Qt.WA_StyledBackground):
            clipPath = QPainterPath()
            painter.save()
            if not self.__data.discardFlags & self.DiscardCanvasBackground:
                QwtPainter.drawBackground(painter, r, canvas)
                clipPath = qwtCanvasClip(canvas, canvasRect)
            painter.restore()
            painter.save()
            if clipPath.isEmpty():
                painter.setClipRect(canvasRect)
            else:
                painter.setClipPath(clipPath)
            plot.drawItems(painter, canvasRect, maps)
            painter.restore()
        else:
            clipPath = QPainterPath()
            frameWidth = 0
            if not self.__data.discardFlags & self.DiscardCanvasFrame:
                frameWidth = canvas.frameWidth()
                clipPath = qwtCanvasClip(canvas, canvasRect)
            innerRect = canvasRect.adjusted(frameWidth, frameWidth, -frameWidth, -frameWidth)
            painter.save()
            if clipPath.isEmpty():
                painter.setClipRect(innerRect)
            else:
                painter.setClipPath(clipPath)
            if not self.__data.discardFlags & self.DiscardCanvasBackground:
                QwtPainter.drawBackground(painter, innerRect, canvas)
            plot.drawItems(painter, innerRect, maps)
            painter.restore()
            if frameWidth > 0:
                painter.save()
                frameStyle = canvas.frameShadow() | canvas.frameShape()
                frameWidth = canvas.frameWidth()
                borderRadius = canvas.borderRadius()
                if borderRadius > 0.0:
                    QwtPainter.drawRoundedFrame(painter, canvasRect, r, r, canvas.palette(), frameWidth, frameStyle)
                else:
                    midLineWidth = canvas.midLineWidth()
                    QwtPainter.drawFrame(
                        painter,
                        canvasRect,
                        canvas.palette(),
                        canvas.foregroundRole(),
                        frameWidth,
                        midLineWidth,
                        frameStyle,
                    )
                painter.restore()