コード例 #1
1
def add_v_gradient(image, colors):
  
  if len(colors) < 2:
    return image
  
  new_img = image.copy()
  
  if not new_img.format() is QImage.Format_ARGB32_Premultiplied:
    new_img = new_img.convertToFormat(QImage.Format_ARGB32_Premultiplied)
  
  gradient = QtGui.QLinearGradient(0, 0, 0, new_img.height())
  
  gradient.setColorAt(0, colors[0])
  
  for i in range(1, len(colors) - 1):
    gradient.setColorAt(i / len(colors), colors[i])
  
  gradient.setColorAt(1, colors[-1])
  
  painter = QPainter(new_img)
  painter.setCompositionMode(QPainter.CompositionMode_SourceAtop)
  painter.fillRect(new_img.rect(), gradient)
  painter.end()
  
  return new_img
コード例 #2
0
def pixmap(name, size, mode, state):
    """Returns a (possibly cached) pixmap of the name and size with the default text color.
    
    The state argument is ignored for now.
    
    """
    if mode == QIcon.Selected:
        color = QApplication.palette().highlightedText().color()
    else:
        color = QApplication.palette().text().color()
    key = (name, size.width(), size.height(), color.rgb(), mode)
    try:
        return _pixmaps[key]
    except KeyError:
        i = QImage(size, QImage.Format_ARGB32_Premultiplied)
        i.fill(0)
        painter = QPainter(i)
        # render SVG symbol
        QSvgRenderer(os.path.join(__path__[0], name + ".svg")).render(painter)
        # recolor to text color
        painter.setCompositionMode(QPainter.CompositionMode_SourceIn)
        painter.fillRect(i.rect(), color)
        painter.end()
        # let style alter the drawing based on mode, and create QPixmap
        pixmap = QApplication.style().generatedIconPixmap(
            mode, QPixmap.fromImage(i), QStyleOption())
        _pixmaps[key] = pixmap
        return pixmap
コード例 #3
0
ファイル: widgets.py プロジェクト: pedromorgan/dCalendar
    def _drawMonthFrame(self):
        self.initMonthInfo()
        wi = self.month_info
        painter = QPainter(self)

        pen = painter.pen()
        pen.setWidth(Var.line_width)
        painter.setPen(pen)

        for coord in wi.paint_base_lines:
            painter.drawLine(*coord)

        # Draw selections
        for selection in wi.selections():
            painter.fillRect(*selection)


        # Draw dates
        font = painter.font()
        font.setPointSize(wi.cell_height/8)
        painter.setFont(font)

        for cell_id in range(42):
            x, y = wi.getCoordinate(cell_id)
            x += wi.cell_width * 74/100
            y += wi.cell_height/7
            
            day = wi.getDay(cell_id)

            painter.drawText(QPointF(x, y), QString(str(day)))
コード例 #4
0
ファイル: color_chooser.py プロジェクト: YingfangZhou/ert
    def paintEvent(self, paint_event):
        """Paints the box"""
        painter = QPainter(self)
        rect = self.contentsRect()
        tile_count = 3
        tile_size = rect.width() / tile_count
        painter.save()
        painter.translate(rect.x(), rect.y())

        color_index = 0
        for y in range(tile_count):

            if y % 2 == 1:
                color_index = 1
            else:
                color_index = 0

            for x in range(tile_count):
                tile_rect = QRect(x * tile_size, y * tile_size, tile_size, tile_size)
                painter.fillRect(tile_rect, self.tile_colors[color_index])

                color_index += 1
                if color_index >= len(self.tile_colors):
                    color_index = 0

        painter.restore()
        painter.fillRect(rect, self.color)

        QFrame.paintEvent(self, paint_event)
コード例 #5
0
ファイル: ui_tools.py プロジェクト: beefsack/ninja-ide
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        painter.setRenderHint(QPainter.Antialiasing)
        painter.fillRect(event.rect(), QBrush(QColor(255, 255, 255, 127)))
        painter.setPen(QPen(Qt.NoPen))

        for i in xrange(6):
            x_pos = self.width() / 2 + 30 * \
                math.cos(2 * math.pi * i / 6.0) - 10
            y_pos = self.height() / 2 + 30 * \
                math.sin(2 * math.pi * i / 6.0) - 10
            if (self.counter / 5) % 6 == i:
                linear_gradient = QLinearGradient(
                    x_pos + 10, x_pos, y_pos + 10, y_pos)
                linear_gradient.setColorAt(0, QColor(135, 206, 250))
                linear_gradient.setColorAt(1, QColor(0, 0, 128))
                painter.setBrush(QBrush(linear_gradient))
            else:
                linear_gradient = QLinearGradient(
                    x_pos - 10, x_pos, y_pos + 10, y_pos)
                linear_gradient.setColorAt(0, QColor(105, 105, 105))
                linear_gradient.setColorAt(1, QColor(0, 0, 0))
                painter.setBrush(QBrush(linear_gradient))
            painter.drawEllipse(
                x_pos,
                y_pos,
                20, 20)

        painter.end()
コード例 #6
0
 def paintEvent(self, event):
     'Paint semi-transparent background, animated pattern, background text'
     QWidget.paintEvent(self, event)
     # make a painter
     p = QPainter(self)
     p.setRenderHint(QPainter.TextAntialiasing)
     p.setRenderHint(QPainter.HighQualityAntialiasing)
     # fill a rectangle with transparent painting
     p.fillRect(event.rect(), Qt.transparent)
     # animated random dots background pattern
     for i in range(4096):
         x = randint(9, self.size().width() - 9)
         y = randint(9, self.size().height() - 9)
         p.setPen(QPen(QColor(randint(200, 255), randint(200, 255), 255), 1))
         p.drawPoint(x, y)
     # set pen to use white color
     p.setPen(QPen(QColor(randint(9, 255), randint(9, 255), 255), 1))
     # Rotate painter 45 Degree
     p.rotate(35)
     # Set painter Font for text
     p.setFont(QFont('Ubuntu', 300))
     # draw the background text, with antialiasing
     p.drawText(99, 199, "Radio")
     # Rotate -45 the QPen back !
     p.rotate(-35)
     # set the pen to no pen
     p.setPen(Qt.NoPen)
     # Background Color
     p.setBrush(QColor(0, 0, 0))
     # Background Opacity
     p.setOpacity(0.75)
     # Background Rounded Borders
     p.drawRoundedRect(self.rect(), 50, 50)
     # finalize the painter
     p.end()
コード例 #7
0
ファイル: msplitter.py プロジェクト: aehlke/manabi-dict
    def paintEvent(self, e):
        """
        Paint the horizontal handle as a gradient, paint
        the vertical handle as a line.
        """
        painter = QPainter(self)

        topColor = QColor(145, 145, 145)
        bottomColor = QColor(142, 142, 142)
        gradientStart = QColor(252, 252, 252)
        gradientStop = QColor(223, 223, 223)

        if self.orientation() == Qt.Vertical:
            painter.setPen(topColor)
            painter.drawLine(0, 0, self.width(), 0)
            painter.setPen(bottomColor)
            painter.drawLine(0, self.height() - 1, self.width(), self.height() - 1)

            linearGrad = QLinearGradient(QPointF(0, 0), QPointF(0, height() - 3))
            linearGrad.setColorAt(0, gradientStart)
            linearGrad.setColorAt(1, gradientStop)
            painter.fillRect(QRect(QPoint(0, 1), self.size() - QSize(0, 2)), QBrush(linearGrad))
        else:
            painter.setPen(topColor)
            painter.drawLine(0, 0, 0, self.height())
コード例 #8
0
ファイル: surface.py プロジェクト: arnaldorusso/frescobaldi
    def paintEvent(self, ev):
        color = self.palette().color(QPalette.Highlight)
        painter = QPainter(self)

        # Filled rectangle.
        painter.setClipRect(self.rect())
        color.setAlpha(50)
        painter.fillRect(self.rect().adjusted(2,2,-2,-2), color)

        # Thin rectangle outside.
        color.setAlpha(150)
        painter.setPen(color)
        painter.drawRect(self.rect().adjusted(0,0,-1,-1))

        # Pseudo-handles at the corners and sides
        color.setAlpha(100)
        pen = QPen(color)
        pen.setWidth(8)
        painter.setPen(pen)
        painter.setBackgroundMode(Qt.OpaqueMode)
        # Clip at 4 corners
        region = QRegion(QRect(0,0,20,20))
        region += QRect(self.rect().width()-20, 0, 20, 20)
        region += QRect(self.rect().width()-20, self.rect().height()-20, 20, 20)
        region += QRect(0, self.rect().height()-20, 20, 20)
        # Clip middles
        region += QRect(0, self.rect().height()/2-10, self.rect().width(), 20)
        region += QRect(self.rect().width()/2-10, 0, 20, self.rect().height())
        
        # Draw thicker rectangles, clipped at corners and sides.
        painter.setClipRegion(region)
        painter.drawRect(self.rect())
コード例 #9
0
ファイル: __init__.py プロジェクト: EdwardBetts/frescobaldi
def pixmap(name, size, mode, state):
    """Returns a (possibly cached) pixmap of the name and size with the default text color.
    
    The state argument is ignored for now.
    
    """
    if mode == QIcon.Selected:
        color = QApplication.palette().highlightedText().color()
    else:
        color = QApplication.palette().text().color()
    key = (name, size.width(), size.height(), color.rgb(), mode)
    try:
        return _pixmaps[key]
    except KeyError:
        i = QImage(size, QImage.Format_ARGB32_Premultiplied)
        i.fill(0)
        painter = QPainter(i)
        # render SVG symbol
        QSvgRenderer(os.path.join(__path__[0], name + ".svg")).render(painter)
        # recolor to text color
        painter.setCompositionMode(QPainter.CompositionMode_SourceIn)
        painter.fillRect(i.rect(), color)
        painter.end()
        # let style alter the drawing based on mode, and create QPixmap
        pixmap = QApplication.style().generatedIconPixmap(mode, QPixmap.fromImage(i), QStyleOption())
        _pixmaps[key] = pixmap
        return pixmap
コード例 #10
0
    def basefinished(self):
        if self.basereply.error() != QNetworkReply.NoError:
            return
        self.basepixmap = QPixmap()
        self.basepixmap.loadFromData(self.basereply.readAll())
        if self.basepixmap.size() != self.rect.size():
            self.basepixmap = self.basepixmap.scaled(self.rect.size(),
                                                     Qt.KeepAspectRatio,
                                                     Qt.SmoothTransformation)
        self.setPixmap(self.basepixmap)

        # make marker pixmap
        self.mkpixmap = QPixmap(self.basepixmap.size())
        self.mkpixmap.fill(Qt.transparent)
        br = QBrush(QColor(Config.dimcolor))
        painter = QPainter()
        painter.begin(self.mkpixmap)
        painter.fillRect(0, 0, self.mkpixmap.width(), self.mkpixmap.height(),
                         br)
        for marker in self.radar['markers']:
            if 'visible' not in marker or marker['visible'] == 1:
                pt = getPoint(marker["location"], self.point, self.zoom,
                              self.rect.width(), self.rect.height())
                mk2 = QImage()
                mkfile = 'teardrop'
                if 'image' in marker:
                    mkfile = marker['image']
                if os.path.dirname(mkfile) == '':
                    mkfile = os.path.join('markers', mkfile)
                if os.path.splitext(mkfile)[1] == '':
                    mkfile += '.png'
                mk2.load(mkfile)
                if mk2.format != QImage.Format_ARGB32:
                    mk2 = mk2.convertToFormat(QImage.Format_ARGB32)
                mkh = 80  # self.rect.height() / 5
                if 'size' in marker:
                    if marker['size'] == 'small':
                        mkh = 64
                    if marker['size'] == 'mid':
                        mkh = 70
                    if marker['size'] == 'tiny':
                        mkh = 40
                if 'color' in marker:
                    c = QColor(marker['color'])
                    (cr, cg, cb, ca) = c.getRgbF()
                    for x in range(0, mk2.width()):
                        for y in range(0, mk2.height()):
                            (r, g, b,
                             a) = QColor.fromRgba(mk2.pixel(x, y)).getRgbF()
                            r = r * cr
                            g = g * cg
                            b = b * cb
                            mk2.setPixel(x, y,
                                         QColor.fromRgbF(r, g, b, a).rgba())
                mk2 = mk2.scaledToHeight(mkh, 1)
                painter.drawImage(pt.x - mkh / 2, pt.y - mkh / 2, mk2)

        painter.end()

        self.wmk.setPixmap(self.mkpixmap)
コード例 #11
0
def add_v_gradient(image, colors):

    if len(colors) < 2:
        return image

    new_img = image.copy()

    if not new_img.format() is QImage.Format_ARGB32_Premultiplied:
        new_img = new_img.convertToFormat(QImage.Format_ARGB32_Premultiplied)

    gradient = QtGui.QLinearGradient(0, 0, 0, new_img.height())

    gradient.setColorAt(0, colors[0])

    for i in range(1, len(colors) - 1):
        gradient.setColorAt(i / len(colors), colors[i])

    gradient.setColorAt(1, colors[-1])

    painter = QPainter(new_img)
    painter.setCompositionMode(QPainter.CompositionMode_SourceAtop)
    painter.fillRect(new_img.rect(), gradient)
    painter.end()

    return new_img
コード例 #12
0
 def verticalGradient(self, painter, spanRect, clipRect):
     key = 'fancy vertical gradient %d %d %d %d %d'%(spanRect.width(), spanRect.height(), clipRect.width(),
                                          clipRect.height(), self.baseColor.rgb())
     pixmap = QPixmap()
     p = painter
     rect = QRect(clipRect)
     
     if self._usePixmapCache and not QPixmapCache.find(key, pixmap):
         pixmap = QPixmap(clipRect.size())
         p = QPainter(pixmap)
         rect = QRect(0, 0, clipRect.width(), clipRect.height())
     
     base = self.baseColor
     grad = QLinearGradient(QPointF(spanRect.topRight()), QPointF(spanRect.topLeft()))
     grad.setColorAt(0, self.highlightColor)
     grad.setColorAt(0.301, base)
     grad.setColorAt(1, self.shadowColor)
     p.fillRect(rect, grad)
     
     light = QColor(255, 255, 255, 80)
     p.setPen(light)
     p.drawLine(rect.topRight() - QPoint(1, 0), rect.bottomRight() - QPoint(1, 0))
     
     if self._usePixmapCache and not QPixmapCache.find(key, pixmap):
         painter.drawPixmap(clipRect.topLeft(), pixmap)
         p.end()
         del p
         QPixmapCache.insert(key, pixmap)
コード例 #13
0
    def paintEvent(self, event):
        """QWidget.paintEvent() implementation
        """
        painter = QPainter(self)
        painter.fillRect(event.rect(), self.palette().color(QPalette.Window))
        painter.setPen(Qt.black)

        block = self._qpart.firstVisibleBlock()
        blockNumber = block.blockNumber()
        top = int(self._qpart.blockBoundingGeometry(block).translated(self._qpart.contentOffset()).top())
        bottom = top + int(self._qpart.blockBoundingRect(block).height())
        singleBlockHeight = self._qpart.cursorRect().height()

        width = None

        boundingRect = self._qpart.blockBoundingRect(block)
        while block.isValid() and top <= event.rect().bottom():
            if block.isVisible() and bottom >= event.rect().top():
                number = str(blockNumber + 1)
                painter.drawText(0, top, self.width() - self._RIGHT_MARGIN, self._qpart.fontMetrics().height(),
                                 Qt.AlignRight, number)
                if boundingRect.height() >= singleBlockHeight * 2:  # wrapped block
                    if width is None:
                        width = self.width()  # laizy calculation
                    painter.fillRect(1, top + singleBlockHeight,
                                     width - 2, boundingRect.height() - singleBlockHeight - 2,
                                     Qt.darkGreen)

            block = block.next()
            boundingRect = self._qpart.blockBoundingRect(block)
            top = bottom
            bottom = top + int(boundingRect.height())
            blockNumber += 1
コード例 #14
0
        def paintEvent(self, event):
            painter = QPainter(self)
            painter.fillRect(event.rect(), self.numberBarColor)

            block = self.editor.firstVisibleBlock()

            # Iterate over all visible text blocks in the document.
            while block.isValid():
                blockNumber = block.blockNumber()
                block_top = self.editor.blockBoundingGeometry(block).translated(self.editor.contentOffset()).top()

                # Check if the position of the block is outside of the visible area.
                if not block.isVisible() or block_top >= event.rect().bottom():
                    break

                # We want the line number for the selected line to be bold.
                if blockNumber == self.editor.textCursor().blockNumber():
                    self.font.setBold(True)
                    painter.setPen(QColor("#000000"))
                else:
                    self.font.setBold(False)
                    painter.setPen(QColor("#717171"))
                painter.setFont(self.font)

                # Draw the line number right justified at the position of the line.
                paint_rect = QRect(0, block_top, self.width(), self.editor.fontMetrics().height())
                painter.drawText(paint_rect, Qt.AlignRight, str(blockNumber + 1))

                block = block.next()

            painter.end()

            QWidget.paintEvent(self, event)
コード例 #15
0
ファイル: color_chooser.py プロジェクト: danielfmva/ert
    def paintEvent(self, paint_event):
        """Paints the box"""
        painter = QPainter(self)
        rect = self.contentsRect()
        tile_count = 3
        tile_size = rect.width() / tile_count
        painter.save()
        painter.translate(rect.x(), rect.y())

        color_index = 0
        for y in range(tile_count):

            if y % 2 == 1:
                color_index = 1
            else:
                color_index = 0

            for x in range(tile_count):
                tile_rect = QRect(x * tile_size, y * tile_size, tile_size,
                                  tile_size)
                painter.fillRect(tile_rect, self.tile_colors[color_index])

                color_index += 1
                if color_index >= len(self.tile_colors):
                    color_index = 0

        painter.restore()
        painter.fillRect(rect, self.color)

        QFrame.paintEvent(self, paint_event)
コード例 #16
0
ファイル: boardwidget.py プロジェクト: dhrosa/empyre_old
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        if not self.showRegionMap:
            painter.drawPixmap(0, 0, self.scaledOwnershipMap)
        rect = self.imageRect()
        if self.isEnabled():
            if self.showRegionMap:
                painter.drawPixmap(0, 0, self.scaledRegionMap)
            else:
                if self.currentTerritory:
                    painter.drawPixmap(0, 0, self.coloredMask(self.currentTerritory, QColor(*self.game.clientPlayer.color)))
                #draw active animations
                for a in self.animations:
                    painter.save()
                    a.paint(painter)
                    painter.restore()
                painter.drawPixmap(0, 0, self.scaledTroopCountMap)
        else:
            painter.fillRect(rect, QColor(0, 0, 0, 200))
            painter.drawText(rect, Qt.AlignCenter, "Waiting for the game to start.")

        #remaining troops
        if self.game.yourTurn() and self.game.remainingTroops:
            troopText = "Remaining troops: %d" % self.game.remainingTroops
            troopRect = QRect(0, 0, painter.fontMetrics().width(troopText) + 8, painter.fontMetrics().height() + 8)
            troopRect.moveBottomLeft(rect.bottomLeft())
            painter.setPen(Qt.white)
            painter.setBrush(QColor(0, 0, 0, 200))
            painter.drawRect(troopRect)
            painter.drawText(troopRect, Qt.AlignCenter, troopText)

        painter.end()
コード例 #17
0
ファイル: boardwidget.py プロジェクト: dhrosa/empyre_old
 def updateTerritoryOwner(self, name, owner):
     t = self.game.board.getTerritory(name)
     p = self.game.getPlayer(owner)
     color = QColor(*p.color)
     color.setAlpha(200)
     territoryImage = QImage(t.image.size(), QImage.Format_ARGB32_Premultiplied)
     p = QPainter()
     p.begin(territoryImage)
     p.drawImage(0, 0, self.game.board.image)
     p.setCompositionMode(QPainter.CompositionMode_DestinationIn)
     p.drawImage(0, 0, t.image)
     p.end()
     coloredTerritoryImage = QImage(territoryImage.size(), QImage.Format_ARGB32_Premultiplied)
     coloredTerritoryImage.fill(0)
     p.begin(coloredTerritoryImage)
     p.fillRect(territoryImage.rect(), color)
     p.setCompositionMode(QPainter.CompositionMode_DestinationIn)
     p.drawImage(0, 0, t.image)
     p.end()
     p.begin(self.ownershipMap)
     p.drawImage(0, 0, territoryImage)
     p.drawImage(0, 0, coloredTerritoryImage)
     p.end()
     self.scaledOwnershipMap = self.ownershipMap.scaled(self.imageSize())
     self.update()
コード例 #18
0
ファイル: sideareas.py プロジェクト: c0deforfun/LLL
    def paintEvent(self, event):
        """ paint a circle for each bp """
        painter = QPainter(self)
        painter.fillRect(event.rect(), self.palette().color(QPalette.Window))
        painter.setPen(Qt.black)

        block = self.main_editor.firstVisibleBlock()
        block_num = block.blockNumber()
        top = int(self.main_editor.blockBoundingGeometry(block).translated(
            self.main_editor.contentOffset()).top())
        bottom = top + int(self.main_editor.blockBoundingRect(block).height())

        bounding_rect = self.main_editor.blockBoundingRect(block)

        bp_brush = QBrush(QColor(250, 0, 0, 128))

        while block.isValid() and top <= event.rect().bottom():
            if block.isVisible() and bottom >= event.rect().top():
                line = block_num + 1
                width = self.width() - self.MARGIN
                height = self.main_editor.fontMetrics().height()
                painter.setPen(Qt.black)
                painter.drawText(0, top, width, height, Qt.AlignRight, str(line))
                if line in self.breakpoints:
                    # paint break point
                    diameter = min(width, height) - 3
                    painter.setPen(Qt.NoPen)
                    painter.setBrush(bp_brush)
                    painter.drawEllipse((width - diameter) / 2, top + 1.5, diameter, diameter)

            block = block.next()
            bounding_rect = self.main_editor.blockBoundingRect(block)
            top = bottom
            bottom = top + int(bounding_rect.height())
            block_num += 1
コード例 #19
0
 def horizontalGradient(self, painter, spanRect, clipRect):
     key = 'fancy vertical gradient %d %d %d %d %d'%(spanRect.width(), spanRect.height(), clipRect.width(),
                                          clipRect.height(), self.baseColor.rgb())
     pixmap = QPixmap()
     p = painter
     rect = QRect(clipRect)
     
     if self._usePixmapCache and not QPixmapCache.find(key, pixmap):
         pixmap = QPixmap(clipRect.size())
         p = QPainter(pixmap)
         rect = QRect(0, 0, clipRect.width(), clipRect.height())
     
     base = self.baseColor
     grad = QLinearGradient(QPointF(rect.topLeft()), QPointF(rect.bottomLeft()))
     grad.setColorAt(0, self.highlightColor.lighter(120))
     if rect.height() == self.navigationWidgetHeight:
         grad.setColorAt(0.4, self.highlightColor)
         grad.setColorAt(0.401, base)
     grad.setColorAt(1, self.shadowColor)
     p.fillRect(rect, grad)
     
     shadowGradient = QLinearGradient(QPointF(spanRect.topLeft()), QPointF(spanRect.topRight()))
     shadowGradient.setColorAt(0, QColor(0, 0, 0, 30))
     highlight = self.highlightColor.lighter(130)
     highlight.setAlpha(100)
     shadowGradient.setColorAt(0.7, highlight)
     shadowGradient.setColorAt(1, QColor(0, 0, 0, 40))
     p.fillRect(rect, shadowGradient)
 
     if self._usePixmapCache and not QPixmapCache.find(key, pixmap):
         painter.drawPixmap(clipRect.topLeft(), pixmap)
         p.end()
         del p
         QPixmapCache.insert(key, pixmap)
コード例 #20
0
ファイル: ui_tools.py プロジェクト: sbellem/ninja-ide
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        painter.setRenderHint(QPainter.Antialiasing)
        painter.fillRect(event.rect(), QBrush(QColor(255, 255, 255, 127)))
        painter.setPen(QPen(Qt.NoPen))

        for i in range(6):
            x_pos = self.width() / 2 + 30 * \
                math.cos(2 * math.pi * i / 6.0) - 10
            y_pos = self.height() / 2 + 30 * \
                math.sin(2 * math.pi * i / 6.0) - 10
            if (self.counter / 5) % 6 == i:
                linear_gradient = QLinearGradient(x_pos + 10, x_pos,
                                                  y_pos + 10, y_pos)
                linear_gradient.setColorAt(0, QColor(135, 206, 250))
                linear_gradient.setColorAt(1, QColor(0, 0, 128))
                painter.setBrush(QBrush(linear_gradient))
            else:
                linear_gradient = QLinearGradient(x_pos - 10, x_pos,
                                                  y_pos + 10, y_pos)
                linear_gradient.setColorAt(0, QColor(105, 105, 105))
                linear_gradient.setColorAt(1, QColor(0, 0, 0))
                painter.setBrush(QBrush(linear_gradient))
            painter.drawEllipse(x_pos, y_pos, 20, 20)

        painter.end()
コード例 #21
0
ファイル: crossbarrouter.py プロジェクト: nphilipp/ffado.svn
 def paintEvent(self, event):
     p = QPainter(self)
     value = self.level / 4096
     r = self.rect()
     r.setHeight(r.height() * math.sqrt(value))
     r.moveBottom(self.rect().height())
     p.fillRect(r, self.palette().highlight())
コード例 #22
0
ファイル: gui_util.py プロジェクト: mnunberg/yobot
def getProtoStatusIcon(name, proto_int=None):
    """Creates a nice little overlay of the status and the protocol icon.
    Returns QIcon"""
    status_icon = getIcon(name)
    if not proto_int:
        return status_icon
    else:
        ret = _status_icon_cache.get((name, proto_int), None)
        if ret:
            return ret
        proto_name, _ = proto_name_int(proto_int, _PROTO_INT)
        status_pixmap = status_icon.pixmap(QSize(16,16))
        proto_pixmap = getIcon(proto_name).pixmap(QSize(16,16))
        combined_pixmap = QImage(28,20, QImage.Format_ARGB32_Premultiplied)

        painter = QPainter(combined_pixmap)
        
        painter.setCompositionMode(painter.CompositionMode_Source)
        painter.fillRect(combined_pixmap.rect(), Qt.transparent)
        
        painter.setCompositionMode(painter.CompositionMode_Source)
        painter.drawPixmap(QPoint(0,0), status_pixmap)
        
        painter.setCompositionMode(painter.CompositionMode_SourceOver)
        painter.drawPixmap(QPoint(12,4), proto_pixmap)
        
        painter.end()
        #add cache
        _status_icon_cache[(name, proto_int)] = QIcon(QPixmap.fromImage(combined_pixmap))
        return _status_icon_cache[(name, proto_int)]
コード例 #23
0
    def paintEvent(self, event):
        """QWidget.paintEvent() implementation
        Draw markers
        """
        painter = QPainter(self)
        painter.fillRect(event.rect(), self.palette().color(QPalette.Window))

        block = self._qpart.firstVisibleBlock()
        blockBoundingGeometry = self._qpart.blockBoundingGeometry(block).translated(self._qpart.contentOffset())
        top = blockBoundingGeometry.top()
        bottom = top + blockBoundingGeometry.height()

        for block in qutepart.iterateBlocksFrom(block):
            height = self._qpart.blockBoundingGeometry(block).height()
            if top > event.rect().bottom():
                break
            if block.isVisible() and \
               bottom >= event.rect().top():
                if block.blockNumber() in self._qpart.lintMarks:
                    msgType, msgText = self._qpart.lintMarks[block.blockNumber()]
                    pixMap = self._lintPixmaps[msgType]
                    yPos = top + ((height - pixMap.height()) / 2)  # centered
                    painter.drawPixmap(0, yPos, pixMap)

                if Bookmarks.isBlockMarked(block):
                    yPos = top + ((height - self._bookmarkPixmap.height()) / 2)  # centered
                    painter.drawPixmap(0, yPos, self._bookmarkPixmap)

            top += height
コード例 #24
0
	def paintEvent(self, event):
		"""
		Reimplements the :meth:`QWidget.paintEvent` method.
		
		:param event: Event.
		:type event: QEvent
		"""

		def __setBold(state):
			"""
			Sets the current painter font bold state.

			:return: Definiton success.
			:rtype: bool
			"""

			font = painter.font()
			font.setBold(state)
			painter.setFont(font)
			return True

		painter = QPainter(self)
		painter.fillRect(event.rect(), self.__backgroundColor)

		pen = QPen(QBrush(), self.__separatorWidth)
		pen.setColor(self.__separatorColor)
		painter.setPen(pen)
		topRightCorner = event.rect().topRight()
		bottomRightCorner = event.rect().bottomRight()
		painter.drawLine(topRightCorner.x(), topRightCorner.y(), bottomRightCorner.x(), bottomRightCorner.y())
		painter.setPen(self.__color)

		viewportHeight = self.__editor.viewport().height()
		metrics = QFontMetrics(self.__editor.document().defaultFont())
		currentBlock = self.__editor.document().findBlock(
			self.__editor.textCursor().position())

		block = self.__editor.firstVisibleBlock()
		blockNumber = block.blockNumber()
		painter.setFont(self.__editor.document().defaultFont())

		while block.isValid():
			blockNumber += 1
			position = self.__editor.blockBoundingGeometry(block).topLeft() + self.__editor.contentOffset()
			if position.y() > viewportHeight:
				break

			if not block.isVisible():
				continue

			block == currentBlock and __setBold(True) or __setBold(False)
			painter.drawText(self.width() - metrics.width(foundations.strings.toString(blockNumber)) - self.__margin / 3,
							round(position.y() + metrics.ascent() + metrics.descent() - \
							(self.__editor.blockBoundingRect(block).height() * 8.0 / 100)),
							foundations.strings.toString(blockNumber))
			block = block.next()

		painter.end()
		QWidget.paintEvent(self, event)
コード例 #25
0
ファイル: frames.py プロジェクト: webodf/blink-qt
 def paintEvent(self, event):
     super(BackgroundFrame, self).paintEvent(event)
     painter = QPainter(self)
     if self.backgroundColor:
         painter.fillRect(self.rect(), QColor(self.backgroundColor))
     if self.scaled_pixmap is not None:
         painter.drawPixmap(self.image_position, self.scaled_pixmap)
     painter.end()
コード例 #26
0
    def paintEvent(self, event):
        """This function create gradient background"""

        painter = QPainter(self)
        gradient = QLinearGradient(QPointF(100, 0), QPointF(100, 100))
        gradient.setColorAt(1, QColor(COLOR_SCHEME['server_widget_bg1']))
        gradient.setColorAt(0, QColor(COLOR_SCHEME['server_widget_bg2']))
        painter.fillRect(self.rect(), gradient)
コード例 #27
0
ファイル: frames.py プロジェクト: kevinlovesing/blink-qt
 def paintEvent(self, event):
     super(BackgroundFrame, self).paintEvent(event)
     painter = QPainter(self)
     if self.backgroundColor:
         painter.fillRect(self.rect(), QColor(self.backgroundColor))
     if self.scaled_pixmap is not None:
         painter.drawPixmap(self.image_position, self.scaled_pixmap)
     painter.end()
コード例 #28
0
ファイル: progress.py プロジェクト: Ensembles/ert
    def paintEvent(self, paint_event):
        QFrame.paintEvent(self, paint_event)
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing, True)
        painter.setRenderHint(QPainter.SmoothPixmapTransform, True)

        rect = self.contentsRect()
        """@type: QRect"""

        painter.fillRect(rect, self.__color)

        x = rect.x()
        y = rect.y()
        width = rect.width()
        height = rect.height()

        if not self.__indeterminate:
            count = len(self.__state_order)
            for index in range(count):
                state = self.__state_order[index]
                state_width = floor(width * (state.progress / 100.0))

                if index == count - 1:
                    state_width = width - x + 1

                painter.fillRect(x, y, state_width, height, state.color)

                x += state_width
        else:
            painter.fillRect(rect, self.__indeterminate_color)

            p = self.__indeterminate_state
            s = self.__indeterminate_step_size

            gradient = QLinearGradient(0, rect.height() / 2, rect.width(), rect.height() / 2)
            gradient.setColorAt(p - s, QColor(255, 255, 255, 0))
            gradient.setColorAt(p, QColor(255, 255, 255, 200))
            gradient.setColorAt(p + s, QColor(255, 255, 255, 0))
            painter.fillRect(rect, gradient)

            self.__indeterminate_state += s

            if self.__indeterminate_state + s >= 1.0 or self.__indeterminate_state + s <= 0.0:
                self.__indeterminate_step_size *= -1
                self.__indeterminate_state = round(self.__indeterminate_state) + self.__indeterminate_step_size



        if self.__shiny:
            #Shiny overlay!
            gradient = QLinearGradient(rect.width() / 2, 0, rect.width() / 2, rect.height())
            gradient.setColorAt(0, QColor(255, 255, 255, 0))
            gradient.setColorAt(0.2, QColor(255, 255, 255, 200))
            gradient.setColorAt(0.4, QColor(255, 255, 255, 0))
            gradient.setColorAt(0.85, QColor(255, 255, 255, 0))
            gradient.setColorAt(0.85, QColor(0, 0, 0, 0))
            gradient.setColorAt(1, QColor(0, 0, 0, 127))
            painter.fillRect(rect, gradient)
コード例 #29
0
    def paintEvent(self,event):
        titleHeight = 40
        bottomHeight = 50
        
        #画标题背景
        painter = QPainter(self)
        painter.save()
        linearGradient = QLinearGradient(0, 0,0,titleHeight)
        linearGradient.setColorAt(0, QColor(60,150,255))
        linearGradient.setColorAt(0.1, QColor(6,88,200)) 
        linearGradient.setColorAt(1, QColor(80,150,255))
        painter.setBrush(QBrush(linearGradient))
        contenRect = QRect(0, 0, self.width(), titleHeight)
        painter.fillRect(contenRect, QBrush(linearGradient))
        painter.restore()
        
        #画标题内容
        painter.save()
        painter.setPen(QPen(QColor(255, 255, 255),1))
        font = painter.font()
        font.setPointSize(12)
        painter.setFont(font)
        painter.drawText(QPoint(10,25), self.title)
        painter.restore()
        
        #画中间白色背景
        painter.save()
        painter.setPen(QPen(QColor(255, 255, 255),1))
        brush = QBrush(QColor(242,242,242))
        painter.setBrush(brush)
        contenRect = QRect(0, titleHeight, self.width()-1, self.height() - titleHeight - bottomHeight)
#         painter.fillRect(contenRect, brush)
        painter.drawRect(contenRect)
        painter.restore()
        
        #画提示信息内容
        painter.save()
        painter.setPen(QPen(QColor(1, 1, 1),1))
        font = painter.font()
        font.setPointSize(15)
        painter.setFont(font)
        fm = QFontMetrics(font)
        infoWidth = fm.width(self.hintInfo)
        painter.drawText(QPoint((self.width() - infoWidth - 10)/2, 150), self.hintInfo)
        painter.restore()
        
        #画底层背景
        painter.save()
        brush = QBrush(QColor(219,234,255))
        painter.setBrush(brush)
        contenRect = QRect(0, self.height() - bottomHeight, self.width(), bottomHeight)
        painter.fillRect(contenRect, brush)
        painter.restore()
        
        
        
        
        
コード例 #30
0
ファイル: pyuic-gui.py プロジェクト: ftillouhamid/pyuic-gui
 def paintEvent(self, event):
     ' Paint semi-transparent background '
     painter = QPainter(self)
     painter.fillRect(event.rect(), Qt.transparent)
     painter.setPen(Qt.NoPen)
     painter.setBrush(QColor(0, 0, 0))
     painter.setOpacity(0.75)
     painter.drawRoundedRect(self.rect(), 75, 50)
     painter.end()
コード例 #31
0
 def _makePixmap(self, width, height):
     pixmap = QPixmap(width, height)
     style = self.brushComboBox.itemData(
         self.brushComboBox.currentIndex()).toInt()[0]
     brush = QBrush(self.color, Qt.BrushStyle(style))
     painter = QPainter(pixmap)
     painter.fillRect(pixmap.rect(), Qt.white)
     painter.fillRect(pixmap.rect(), brush)
     return pixmap
コード例 #32
0
 def _makePixmap(self, width, height):
     pixmap = QPixmap(width, height)
     style = self.brushComboBox.itemData(
                     self.brushComboBox.currentIndex()).toInt()[0]
     brush = QBrush(self.color, Qt.BrushStyle(style))
     painter = QPainter(pixmap)
     painter.fillRect(pixmap.rect(), Qt.white)
     painter.fillRect(pixmap.rect(), brush)
     return pixmap
コード例 #33
0
ファイル: compass.py プロジェクト: Tadat/qgis-PosiView
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        painter.setRenderHint(QPainter.Antialiasing)

        painter.fillRect(event.rect(), self.palette().brush(QPalette.Window))
        self.drawMarkings(painter)
        self.drawNeedle(painter)
        self.drawNeedle2(painter)
        painter.end()
コード例 #34
0
ファイル: frontend.py プロジェクト: muromec/pysnole
    def paintEvent(self, event):
        painter = QPainter(self)
        if self._screen.dirty:
            self._paint_screen(painter, self._screen.dirty)

        if self._margins:
            bot, right = self._margins
            painter.fillRect(right, self.brash('default'))
            painter.fillRect(bot, self.brash('default'))
            self._margins = []
コード例 #35
0
ファイル: compass.py プロジェクト: jrenken/qgis-PosiView
    def paintEvent(self, event):
        painter = QPainter()
        painter.begin(self)
        painter.setRenderHint(QPainter.Antialiasing)

        painter.fillRect(event.rect(), self.palette().brush(QPalette.Window))
        self.drawMarkings(painter)
        self.drawNeedle(painter)
        self.drawNeedle2(painter)
        painter.end()
コード例 #36
0
ファイル: chart_view.py プロジェクト: Mouchnino/moneyguru
 def paintEvent(self, event):
     QWidget.paintEvent(self, event)
     if self.dataSource is None:
         return
     painter = QPainter(self)
     self.current_painter = painter
     painter.setRenderHints(QPainter.Antialiasing|QPainter.TextAntialiasing)
     painter.fillRect(self.rect(), Qt.white)
     self.dataSource.draw()
     del self.current_painter
コード例 #37
0
ファイル: frontend.py プロジェクト: muromec/pysnole
    def paintEvent(self, event):
        painter = QPainter(self)
        if self._screen.dirty:
            self._paint_screen(painter, self._screen.dirty)

        if self._margins:
            bot, right = self._margins
            painter.fillRect(right, self.brash('default'))
            painter.fillRect(bot, self.brash('default'))
            self._margins = []
コード例 #38
0
    def update_image(self):
        rgb_table = self.thermal_image.rgb_lookup[
            self.parent.color_palette_box.currentIndex()]
        painter = QPainter(self.image)
        for i in range(self.width * self.thermal_image.image_pixel_width):
            index = (256 * i) // (self.width *
                                  self.thermal_image.image_pixel_width)
            color = QColor(*rgb_table[index])
            painter.fillRect(i, 0, 1, self.height, color)

        self.update()
コード例 #39
0
ファイル: minimap.py プロジェクト: Morfyo/JAVASCRIPT
 def paintEvent(self, event):
     """Paint over the widget to overlay its content."""
     if not ACTIVATE_OPACITY:
         painter = QPainter()
         painter.begin(self)
         painter.setRenderHint(QPainter.TextAntialiasing, True)
         painter.setRenderHint(QPainter.Antialiasing, True)
         painter.fillRect(event.rect(), QBrush(QColor(255, 255, 255, 80)))
         painter.setPen(QPen(Qt.NoPen))
         painter.end()
     super(SliderArea, self).paintEvent(event)
コード例 #40
0
 def paintEvent(self, event):
     """Paint over the widget to overlay its content."""
     if not ACTIVATE_OPACITY:
         painter = QPainter()
         painter.begin(self)
         painter.setRenderHint(QPainter.TextAntialiasing, True)
         painter.setRenderHint(QPainter.Antialiasing, True)
         painter.fillRect(event.rect(), QBrush(QColor(255, 255, 255, 80)))
         painter.setPen(QPen(Qt.NoPen))
         painter.end()
     super(SliderArea, self).paintEvent(event)
コード例 #41
0
ファイル: testmodule.py プロジェクト: shiroyasha/oldPorjects
    def paintEvent(self, event):

        painter = QPainter()
        painter.begin(self)
        painter.fillRect(event.rect(), QBrush(Qt.white))
        size = min(self.width(), self.height())
        painter.setViewport(self.width() / 2 - size / 2,
                            self.height() / 2 - size / 2, size, size)
        painter.setWindow(0, 0, 100, 100)
        painter.drawText(10, 10, 80, 80, Qt.AlignCenter, "Python")
        painter.end()
コード例 #42
0
ファイル: line.py プロジェクト: jose1711/brickv
    def paintEvent(self, event):
        qp = QPainter(self)

        g = QLinearGradient(0.0, 0.0, 0.0, self.height())
        g.setColorAt(0, Qt.white)
        g.setColorAt(1, Qt.black)

        y = self.height() - self.reflectivity * self.height() / 4095.0

        qp.fillRect(0, 0, self.width(), self.height(), g)
        qp.setPen(Qt.red)
        qp.drawLine(0, y, self.width(), y)
コード例 #43
0
 def paintEvent(self,event):
     # 自定义标题,添加关闭按钮
     painter = QPainter(self)
     linearGradient = QLinearGradient(0, 0,0,self.tabBar().frameGeometry().height())
     linearGradient.setColorAt(0, QColor(60,150,255))
     linearGradient.setColorAt(0.05, QColor(6,88,200))
     linearGradient.setColorAt(1, QColor(80,150,255))
     painter.setBrush(QBrush(linearGradient))
     self.menuRect = QRect(0, 0, self.frameGeometry().width(), self.tabBar().height())
     painter.fillRect(self.menuRect, QBrush(linearGradient))
     self.closeButton.move(QPoint(self.geometry().width()-self.closeButton.frameGeometry().width(),
                           (self.tabBar().height()-self.closeButton.frameGeometry().height())/2))
コード例 #44
0
ファイル: widget.py プロジェクト: moceap/scribus
 def paintEvent(self, event):
     painter = QPainter(self.viewport())
     if self.highlight_line:
         r = self.cursorRect()
         r.setX(0)
         r.setWidth(self.viewport().width())
         painter.fillRect(r, self.highlight_brush)
     if self.draw_line:
         painter.setPen(self.line_pen)
         painter.drawLine(self.line)
     painter.end()
     QPlainTextEdit.paintEvent(self, event)
コード例 #45
0
    def paintEvent(self, paintevent):
        """Paints the box"""
        painter = QPainter(self)

        rect = self.contentsRect()
        rect.setWidth(rect.width() - 1)
        rect.setHeight(rect.height() - 1)
        painter.drawRect(rect)

        rect.setX(rect.x() + 1)
        rect.setY(rect.y() + 1)
        painter.fillRect(rect, self._getColor())
コード例 #46
0
ファイル: servicemodel.py プロジェクト: attila3d/arsenalsuite
	def createOnlineIcon(self,color):
		dim = QRect(0,0,32,32)
		img = QImage(dim.size(),QImage.Format_ARGB32)
		p = QPainter(img)
		p.setCompositionMode(QPainter.CompositionMode_Source)
		p.fillRect(dim,Qt.transparent)
		p.setCompositionMode(QPainter.CompositionMode_SourceOver)
		p.setRenderHints(QPainter.Antialiasing)
		p.setPen(Qt.black)
		p.setBrush(color)
		p.drawEllipse(dim.adjusted(1,1,-2,-2))
		return img
コード例 #47
0
ファイル: PyQtPiClock.py プロジェクト: esus111/PiClock
 def mkfinished(self):
     if self.mkreply.error() != QNetworkReply.NoError: return
     self.mkpixmap = QPixmap()
     self.mkpixmap.loadFromData(self.mkreply.readAll())
     if self.mkpixmap.size() != self.rect.size():
         self.mkpixmap = self.mkpixmap.scaled(self.rect.size(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
     br = QBrush(QColor(Config.dimcolor) );
     painter = QPainter();
     painter.begin(self.mkpixmap);
     painter.fillRect(0,0,self.mkpixmap.width(),self.mkpixmap.height(),br);
     painter.end();
     self.wmk.setPixmap(self.mkpixmap)
コード例 #48
0
 def paintEvent(self, event):
     painter = QPainter(self.viewport())
     if self.highlight_line:
         r = self.cursorRect()
         r.setX(0)
         r.setWidth(self.viewport().width())
         painter.fillRect(r, self.highlight_brush)
     if self.draw_line:
         painter.setPen(self.line_pen)
         painter.drawLine(self.line)
     painter.end()
     QPlainTextEdit.paintEvent(self, event)
コード例 #49
0
 def createOnlineIcon(self, color):
     dim = QRect(0, 0, 32, 32)
     img = QImage(dim.size(), QImage.Format_ARGB32)
     p = QPainter(img)
     p.setCompositionMode(QPainter.CompositionMode_Source)
     p.fillRect(dim, Qt.transparent)
     p.setCompositionMode(QPainter.CompositionMode_SourceOver)
     p.setRenderHints(QPainter.Antialiasing)
     p.setPen(Qt.black)
     p.setBrush(color)
     p.drawEllipse(dim.adjusted(1, 1, -2, -2))
     return img
コード例 #50
0
ファイル: legend.py プロジェクト: Ensembles/ert
    def paintEvent(self, paintevent):
        """Paints the box"""
        painter = QPainter(self)

        rect = self.contentsRect()
        rect.setWidth(rect.width() - 1)
        rect.setHeight(rect.height() - 1)
        painter.drawRect(rect)

        rect.setX(rect.x() + 1)
        rect.setY(rect.y() + 1)
        painter.fillRect(rect, self.color)
コード例 #51
0
    def paintEvent(self, event):

        w, h, cx, cy, r = self.clockFaceDetails()

        painter = QPainter()
        painter.begin(self)
        painter.setRenderHint(QPainter.Antialiasing)

        painter.fillRect(event.rect(), self.background)

        painter.setBrush(QBrush(Qt.NoBrush))
        painter.setPen(QPen(Qt.black))
        painter.drawEllipse(cx - r * 1.1, cy - r * 1.1, 2.2 * r, 2.2 * r)

        painter.setBrush(QBrush(Qt.NoBrush))
        painter.setPen(QPen(Qt.black, 3))

        for i in range(12):
            angle = 2 * i * math.pi / 12
            painter.drawLine(cx + (0.9 * r * math.cos(angle)),
                             cy + (0.9 * r * math.sin(angle)),
                             cx + (r * math.cos(angle)),
                             cy + (r * math.sin(angle)))

        painter.setPen(QPen(Qt.black, 2))

        for i in range(60):
            angle = 2 * i * math.pi / 60
            painter.drawLine(cx + (0.95 * r * math.cos(angle)),
                             cy + (0.95 * r * math.sin(angle)),
                             cx + (r * math.cos(angle)),
                             cy + (r * math.sin(angle)))

        hour, minute = self.displayTime
        hour = hour % 12

        angle = (-math.pi / 2) + (2 * hour * math.pi /
                                  12) + (2 * math.pi / 12 * minute / 60.0)

        painter.setPen(QPen(Qt.black, 8, Qt.SolidLine, Qt.RoundCap))
        painter.drawLine(cx, cy, cx + (0.55 * r * math.cos(angle)),
                         cy + (0.55 * r * math.sin(angle)))

        angle = (-math.pi / 2) + (2 * minute * math.pi / 60)

        painter.drawLine(cx, cy, cx + (0.8 * r * math.cos(angle)),
                         cy + (0.8 * r * math.sin(angle)))

        painter.setPen(QPen(self.foreground))
        painter.setFont(self.font())
        rect = QRect(0, self.height() * 0.75, self.width(), self.maxHeight)
        painter.drawText(rect, Qt.AlignCenter, "%02i:%02i" % self.displayTime)
        painter.end()
コード例 #52
0
 def round(self):
     bmp = QBitmap(self.size())
     p = QPainter()
     p.begin(bmp)
     p.fillRect(bmp.rect(), Qt.white)
     p.setBrush(QColor(0,0,0))
     p.drawRoundedRect(bmp.rect(), 5, 5)
     p.setPen(QColor(255,255,255,255))
     p.drawPoints(QPointF(self.width()-2,self.height()-1), QPointF(self.width()-1,self.height()-2))
     p.setPen(QColor(0,0,0))
     p.drawPoints(QPointF(0,2),QPointF(3,0),QPointF(2,0),QPointF(1,1))
     p.end()
     self.setMask(bmp)
コード例 #53
0
 def paintEvent(self, *args, **kwargs):
     painter = QPainter(self)
     painter.drawPixmap(0, 0, 12, self.WIDTH_BORDER_TOP, self.__pic_bg, 0,
                        0, 12, self.WIDTH_BORDER_TOP)
     painter.drawPixmap(
         self.WIDTH_BORDER_LEFT, 0,
         self.width() - self.WIDTH_BORDER_RIGHT - self.WIDTH_BORDER_LEFT,
         self.WIDTH_BORDER_TOP, self.__pic_bg, 12, 0, 1,
         self.WIDTH_BORDER_TOP)
     painter.drawPixmap(self.width() - self.WIDTH_BORDER_RIGHT, 0,
                        self.__pic_bg, 13, 0, 12, self.WIDTH_BORDER_TOP)
     painter.drawPixmap(0,
                        self.height() - self.WIDTH_BORDER_BOTTOM,
                        self.__pic_bg, 0, 90, 12, 14)
     painter.drawPixmap(
         0, self.WIDTH_BORDER_TOP, self.WIDTH_BORDER_LEFT,
         self.height() - self.WIDTH_BORDER_BOTTOM - self.WIDTH_BORDER_TOP,
         self.__pic_bg, 0, 89, 12, 1)
     painter.drawPixmap(
         self.width() - self.WIDTH_BORDER_RIGHT, self.WIDTH_BORDER_TOP,
         self.WIDTH_BORDER_LEFT,
         self.height() - self.WIDTH_BORDER_BOTTOM - self.WIDTH_BORDER_TOP,
         self.__pic_bg, 13, 89, 12, 1)
     painter.drawPixmap(
         self.WIDTH_BORDER_LEFT,
         self.height() - self.WIDTH_BORDER_BOTTOM,
         self.width() - self.WIDTH_BORDER_RIGHT - self.WIDTH_BORDER_LEFT,
         self.WIDTH_BORDER_BOTTOM, self.__pic_bg, 12, 90, 1, 14)
     painter.drawPixmap(self.width() - self.WIDTH_BORDER_RIGHT,
                        self.height() - self.WIDTH_BORDER_BOTTOM,
                        self.__pic_bg, 13, 90, 12, 14)
     painter.fillRect(
         self.WIDTH_BORDER_LEFT - 4, self.WIDTH_BORDER_TOP,
         self.width() - self.WIDTH_BORDER_LEFT - self.WIDTH_BORDER_RIGHT +
         8,
         self.height() - self.WIDTH_BORDER_BOTTOM - self.WIDTH_BORDER_TOP,
         QBrush(QColor(255, 255, 255)))
     painter.setFont(QFont('Microsoft Yahei', 8, QFont.Bold))
     painter.setPen(QColor(250, 250, 250, 220))
     painter.drawText(1, 5, self.width(), 27,
                      Qt.AlignHCenter | Qt.AlignVCenter, self.windowTitle())
     painter.setPen(QColor(50, 50, 50, 255))
     painter.drawText(0, 4, self.width(), 27,
                      Qt.AlignHCenter | Qt.AlignVCenter, self.windowTitle())
     painter.setPen(QColor(142, 142, 142, 255))
     if self.width() > 380:
         painter.drawLine(self.WIDTH_FRAME_LEFT + self.OFFSET_BORDER_LEFT,
                          self.OFFSET_BORDER_TOP + 22,
                          self.WIDTH_FRAME_LEFT + self.OFFSET_BORDER_LEFT,
                          self.height() - self.OFFSET_BORDER_BOTTOM - 1)
コード例 #54
0
    def paintEvent(self, event):
        '''
        Paints area the user is currently selecting starting from point
        start_x and, start_y ending at the position of the user's mouse
        currently on screen.
        '''
        painter = QPainter()
        painter.begin(self)

        painter.fillRect(self.screen_geometry, QColor(10, 10, 10, 125))

        self._paint_selection(painter)
        self._paint_usage_text(painter)
        painter.end()
コード例 #55
0
ファイル: paint.py プロジェクト: SuperSaiyanSSS/DatabaseHIT
 def paintEvent(self, event):
     if self.model is None:
         return
     painter = QPainter(self)
     painter.setRenderHint(QPainter.Antialiasing)
     span = self.model.maxValue - self.model.minValue
     painter.setWindow(0, 0, BarGraphView.WIDTH * self.model.rowCount(),
                       span)
     for row in range(self.model.rowCount()):
         x = row * BarGraphView.WIDTH
         index = self.model.index(row)
         color = QColor(self.model.data(index, Qt.UserRole))
         y = self.model.data(index)
         painter.fillRect(x, span - y, BarGraphView.WIDTH, y, color)
コード例 #56
0
ファイル: editor.py プロジェクト: TheProjecter/pyideal
        def paintEvent(self, event):
            contents_y = 0
            page_bottom = self.edit.viewport().height()
            font_metrics = QFontMetrics(self.edit.document().defaultFont())
            current_block = self.edit.document().findBlock(
                self.edit.textCursor().position())

            painter = QPainter(self)
            painter.fillRect(self.rect(), Qt.lightGray)

            block = self.edit.firstVisibleBlock()
            viewport_offset = self.edit.contentOffset()
            line_count = block.blockNumber()
            painter.setFont(self.edit.document().defaultFont())
            while block.isValid():
                line_count += 1
                # The top left position of the block in the document
                position = self.edit.blockBoundingGeometry(
                    block).topLeft() + viewport_offset
                # Check if the position of the block is out side of the visible area
                if position.y() > page_bottom:
                    break

                # We want the line number for the selected line to be bold.
                bold = False
                if block == current_block:
                    bold = True
                    font = painter.font()
                    font.setBold(True)
                    painter.setFont(font)

                # Draw the line number right justified at the y position of the
                # line. 3 is a magic padding number. drawText(x, y, text).
                painter.drawText(
                    self.width() - font_metrics.width(str(line_count)) - 3,
                    round(position.y()) + font_metrics.ascent() +
                    font_metrics.descent() - 1, str(line_count))

                # Remove the bold style if it was set previously.
                if bold:
                    font = painter.font()
                    font.setBold(False)
                    painter.setFont(font)

                block = block.next()

            self.highest_line = line_count
            painter.end()

            QWidget.paintEvent(self, event)
コード例 #57
0
    def paintEvent(self, event):
        bg_color = Qt.black

        # configuración del painter
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing, True)
        
        # transformación window-viewport
        painter.setWindow(0, 0, *self.frame_size)

        # fondo del laberinto
        painter.fillRect(0, 0, self.frame_size[0], self.frame_size[1], QBrush(bg_color))

        # dibujar el laberinto
        self._paintLaberinto(painter)
コード例 #58
0
 def paintEvent(self, event):
     painter = QPainter(self)
     painter.fillRect(event.rect(), self.__background_color)
     # Draw markers
     self.__draw_markers(painter)
     # Draw slider
     if settings.DOCMAP_SLIDER and self.__scrollbar.isVisible():
         painter.setPen(Qt.NoPen)
         color = QColor(Qt.lightGray)
         color.setAlpha(50)
         painter.setBrush(QBrush(color))
         position1 = self.__get_position(self.__scrollbar.value())
         position2 = self.__get_position(self.__scrollbar.value() +
                                         self.__scrollbar.pageStep())
         painter.drawRect(0, position1, self.__width, position2 - position1)