当前位置: 首页>>代码示例>>Python>>正文


Python QwtPainter.drawPolygon方法代码示例

本文整理汇总了Python中qwt.painter.QwtPainter.drawPolygon方法的典型用法代码示例。如果您正苦于以下问题:Python QwtPainter.drawPolygon方法的具体用法?Python QwtPainter.drawPolygon怎么用?Python QwtPainter.drawPolygon使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在qwt.painter.QwtPainter的用法示例。


在下文中一共展示了QwtPainter.drawPolygon方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: qwtDrawHexagonSymbols

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
def qwtDrawHexagonSymbols(painter, points, numPoints, symbol):
    painter.setBrush(symbol.brush())
    painter.setPen(symbol.pen())
    cos30 = np.cos(30*np.pi/180.)
    dx = .5*(symbol.size().width()-cos30)
    dy = .25*symbol.size().height()
    doAlign = QwtPainter.roundingAlignment(painter)
    for pos in points:
        if doAlign:
            x = round(pos.x())
            y = round(pos.y())
            x1 = np.ceil(x-dx)
            y1 = np.ceil(y-2*dy)
        else:
            x = pos.x()
            y = pos.y()
            x1 = x-dx
            y1 = y-2*dy
        x2 = x1+1*dx
        x3 = x1+2*dx
        y2 = y1+1*dy
        y3 = y1+3*dy
        y4 = y1+4*dy
        hexa = [QPointF(x2, y1), QPointF(x3, y2), QPointF(x3, y3),
                QPointF(x2, y4), QPointF(x1, y3), QPointF(x1, y2)]
        QwtPainter.drawPolygon(painter, QPolygonF(hexa))
开发者ID:gyenney,项目名称:Tools,代码行数:28,代码来源:symbol.py

示例2: qwtDrawTriangleSymbols

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
def qwtDrawTriangleSymbols(painter, type, points, numPoint, symbol):
    size =symbol.size()
    pen = QPen(symbol.pen())
    pen.setJoinStyle(Qt.MiterJoin)
    painter.setPen(pen)
    painter.setBrush(symbol.brush())
    doAlign = QwtPainter.roundingAlignment(painter)
    sw2 = .5*size.width()
    sh2 = .5*size.height()
    if doAlign:
        sw2 = np.floor(sw2)
        sh2 = np.floor(sh2)
    for pos in points:
        x = pos.x()
        y = pos.y()
        if doAlign:
            x = round(x)
            y = round(y)
        x1 = x-sw2
        x2 = x1+size.width()
        y1 = y-sh2
        y2 = y1+size.height()
        if type == QwtTriangle.Left:
            triangle = [QPointF(x2, y1), QPointF(x1, y), QPointF(x2, y2)]
        elif type == QwtTriangle.Right:
            triangle = [QPointF(x1, y1), QPointF(x2, y), QPointF(x1, y2)]
        elif type == QwtTriangle.Up:
            triangle = [QPointF(x1, y2), QPointF(x, y1), QPointF(x2, y2)]
        elif type == QwtTriangle.Down:
            triangle = [QPointF(x1, y1), QPointF(x, y2), QPointF(x2, y1)]
        QwtPainter.drawPolygon(painter, QPolygonF(triangle))
开发者ID:gyenney,项目名称:Tools,代码行数:33,代码来源:symbol.py

示例3: qwtDrawDiamondSymbols

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
def qwtDrawDiamondSymbols(painter, points, numPoints, symbol):
    size =symbol.size()
    pen = QPen(symbol.pen())
    pen.setJoinStyle(Qt.MiterJoin)
    painter.setPen(pen)
    painter.setBrush(symbol.brush())
    if QwtPainter.roundingAlignment(painter):
        for pos in points:
            x = round(pos.x())
            y = round(pos.y())
            x1 = x-size.width()//2
            y1 = y-size.height()//2
            x2 = x1+size.width()
            y2 = y1+size.height()
            polygon = QPolygonF()
            polygon += QPointF(x, y1)
            polygon += QPointF(x1, y)
            polygon += QPointF(x, y2)
            polygon += QPointF(x2, y)
            QwtPainter.drawPolygon(painter, polygon)
    else:
        for pos in points:
            x1 = pos.x()-.5*size.width()
            y1 = pos.y()-.5*size.height()
            x2 = x1+size.width()
            y2 = y1+size.height()
            polygon = QPolygonF()
            polygon += QPointF(pos.x(), y1)
            polygon += QPointF(x1, pos.y())
            polygon += QPointF(pos.x(), y2)
            polygon += QPointF(x2, pos.y())
            QwtPainter.drawPolygon(painter, polygon)
开发者ID:gyenney,项目名称:Tools,代码行数:34,代码来源:symbol.py

示例4: fillCurve

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
    def fillCurve(self, painter, xMap, yMap, canvasRect, polygon):
        """
        Fill the area between the curve and the baseline with
        the curve brush

        :param QPainter painter: Painter
        :param qwt.scale_map.QwtScaleMap xMap: Maps x-values into pixel coordinates.
        :param qwt.scale_map.QwtScaleMap yMap: Maps y-values into pixel coordinates.
        :param QRectF canvasRect: Contents rectangle of the canvas
        :param QPolygonF polygon: Polygon - will be modified !
        
        .. seealso::
        
            :py:meth:`setBrush()`, :py:meth:`setBaseline()`, 
            :py:meth:`setStyle()`
        """
        if self.__data.brush.style() == Qt.NoBrush:
            return
        self.closePolyline(painter, xMap, yMap, polygon)
        if polygon.count() <= 2:
            return
        brush = self.__data.brush
        if not brush.color().isValid():
            brush.setColor(self.__data.pen.color())
        if self.__data.paintAttributes & self.ClipPolygons:
            polygon = QwtClipper().clipPolygonF(canvasRect, polygon, True)
        painter.save()
        painter.setPen(Qt.NoPen)
        painter.setBrush(brush)
        QwtPainter.drawPolygon(painter, polygon)
        painter.restore()
开发者ID:gyenney,项目名称:Tools,代码行数:33,代码来源:plot_curve.py

示例5: fillCurve

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
 def fillCurve(self, painter, xMap, yMap, canvasRect, polygon):
     if self.__data.brush.style() == Qt.NoBrush:
         return
     self.closePolyline(painter, xMap, yMap, polygon)
     if polygon.count() <= 2:
         return
     brush = self.__data.brush
     if not brush.color().isValid():
         brush.setColor(self.__data.pen.color())
     if self.__data.paintAttributes & self.ClipPolygons:
         polygon = QwtClipper().clipPolygonF(canvasRect, polygon, True)
     painter.save()
     painter.setPen(Qt.NoPen)
     painter.setBrush(brush)
     QwtPainter.drawPolygon(painter, polygon)
     painter.restore()
开发者ID:petebachant,项目名称:python-qwt,代码行数:18,代码来源:plot_curve.py

示例6: qwtDrawStar2Symbols

# 需要导入模块: from qwt.painter import QwtPainter [as 别名]
# 或者: from qwt.painter.QwtPainter import drawPolygon [as 别名]
def qwtDrawStar2Symbols(painter, points, numPoints, symbol):
    pen = QPen(symbol.pen())
    if pen.width() > 1:
        pen.setCapStyle(Qt.FlatCap)
    pen.setJoinStyle(Qt.MiterJoin)
    painter.setPen(pen)
    painter.setBrush(symbol.brush())
    cos30 = np.cos(30*np.pi/180.)
    dy = .25*symbol.size().height()
    dx = .5*symbol.size().width()*cos30/3.
    doAlign = QwtPainter.roundingAlignment(painter)
    for pos in points:
        if doAlign:
            x = round(pos.x())
            y = round(pos.y())
            x1 = round(x-3*dx)
            y1 = round(y-2*dy)
        else:
            x = pos.x()
            y = pos.y()
            x1 = x-3*dx
            y1 = y-2*dy
        x2 = x1+1*dx
        x3 = x1+2*dx
        x4 = x1+3*dx
        x5 = x1+4*dx
        x6 = x1+5*dx
        x7 = x1+6*dx
        y2 = y1+1*dy
        y3 = y1+2*dy
        y4 = y1+3*dy
        y5 = y1+4*dy
        star = [QPointF(x4, y1), QPointF(x5, y2), QPointF(x7, y2),
                QPointF(x6, y3), QPointF(x7, y4), QPointF(x5, y4),
                QPointF(x4, y5), QPointF(x3, y4), QPointF(x1, y4),
                QPointF(x2, y3), QPointF(x1, y2), QPointF(x3, y2)]
        QwtPainter.drawPolygon(painter, QPolygonF(star))
开发者ID:gyenney,项目名称:Tools,代码行数:39,代码来源:symbol.py


注:本文中的qwt.painter.QwtPainter.drawPolygon方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。