コード例 #1
0
ファイル: racklistwidget.py プロジェクト: redtide/Carla
    def paintEvent(self, event):
        painter = QPainter(self.viewport())

        width = self.width()
        height = self.height()
        imgL_rect = QRect(0, 0, self.fPixmapWidth, height)
        imgR_rect = QRect(width - self.fPixmapWidth, 0, self.fPixmapWidth,
                          height)

        painter.setBrush(self.rail_col)
        painter.setPen(Qt.NoPen)
        painter.drawRects(imgL_rect, imgR_rect)
        painter.setCompositionMode(QPainter.CompositionMode_Multiply)
        painter.drawTiledPixmap(imgL_rect, self.fPixmapL)
        painter.drawTiledPixmap(imgR_rect, self.fPixmapR)
        painter.setCompositionMode(QPainter.CompositionMode_Plus)
        painter.drawTiledPixmap(imgL_rect, self.fPixmapL)
        painter.drawTiledPixmap(imgR_rect, self.fPixmapR)
        painter.setCompositionMode(QPainter.CompositionMode_SourceOver)

        painter.setPen(self.edge_col)
        painter.setBrush(Qt.NoBrush)
        painter.drawRect(self.fPixmapWidth, 0, width - self.fPixmapWidth * 2,
                         height)

        QListWidget.paintEvent(self, event)
コード例 #2
0
ファイル: widgets.py プロジェクト: dangmai/looper
 def paintEvent(self, event):
     if self.highlightStart is not None and self.highlightEnd is not None:
         p = QPainter(self)
         opt = QStyleOptionSlider()
         self.initStyleOption(opt)
         gr = self.style().subControlRect(QStyle.CC_Slider, opt,
                                          QStyle.SC_SliderGroove, self)
         rectX, rectY, rectW, rectH = gr.getRect()
         startX = int(
             (rectW/(self.maximum() - self.minimum()))
             * self.highlightStart + rectX
         )
         startY = (rectH - rectY) / 2
         width = int(
             (rectW/(self.maximum() - self.minimum()))
             * self.highlightEnd + rectX
         ) - startX
         height = (rectH - startY) / 2
         c = QColor(0, 152, 116)
         p.setBrush(c)
         c.setAlphaF(0.3)
         p.setPen(QPen(c, 1.0))
         rectToPaint = QRect(startX, startY, width, height)
         p.drawRects(rectToPaint)
     super(HighlightedJumpSlider, self).paintEvent(event)
コード例 #3
0
    def paint(self,
              painter: QtGui.QPainter,
              option: 'QStyleOptionGraphicsItem',
              widget: typing.Optional[QWidget] = ...):
        painter.save()
        scale = 1 / self.downsample
        painter.scale(scale, scale)

        # for grid_rect, color in zip(self.grid_rects_0_level, self.color_alphas):
        #     painter.setBrush(color)
        #     painter.drawRect(*grid_rect)

        for color_alpha, rects in self.color_alpha__rects_0_level.items():
            color = QColor(*self.base_color_rgb, color_alpha)
            painter.setBrush(color)
            qrectfs = self.star_map_(QRectF, rects)
            painter.drawRects(qrectfs)

        # for color_alpha, rects in enumerate(self.color_alpha__rects_0_level):
        #     if rects:
        #         color = QColor(*self.base_color_rgb, color_alpha)
        #         painter.setBrush(color)
        #         qrectfs = self.star_map_(QRectF, rects)
        #         painter.drawRects(qrectfs)
        painter.restore()
コード例 #4
0
    def paintEvent(self, ev: QtGui.QPaintEvent):
        painter = QPainter(self)

        rects = []

        for i in range(data_range):
            rects.append(
                QRectF(self.df['x'][i], self.df['y'][i], self.df['width'][i],
                       self.df['height'][i]))

        painter.drawRects(rects)
コード例 #5
0
    def paint(self, painter: QPainter, option: QStyleOptionGraphicsItem,
              widget: QWidget):
        painter.save()
        scale = 1 / self.downsample
        painter.scale(scale, scale)

        for color_alpha, rects in self.color_alpha_rects_0_level.items():
            color = QColor(*self.base_color_rgb, color_alpha)
            painter.setBrush(color)
            qrectfs = self.star_map_(QRectF, rects)
            painter.drawRects(qrectfs)

        painter.restore()
コード例 #6
0
    def paintEvent(self, ev: QtGui.QPaintEvent):
        painter = QPainter(self)
        pen = QPen(Qt.blue)
        pen.setCosmetic(True)
        painter.setPen(pen)

        rects = []

        for i in range(data_range):
            rects.append(
                QRectF(self.df['x'][i], self.df['y'][i], self.df['width'][i],
                       self.df['height'][i]))

        painter.drawRects(rects)
コード例 #7
0
ファイル: widgets.py プロジェクト: dangmai/looper
 def paintEvent(self, event):
     if self.highlightStart is not None and self.highlightEnd is not None:
         p = QPainter(self)
         opt = QStyleOptionSlider()
         self.initStyleOption(opt)
         gr = self.style().subControlRect(QStyle.CC_Slider, opt,
                                          QStyle.SC_SliderGroove, self)
         rectX, rectY, rectW, rectH = gr.getRect()
         startX = int((rectW / (self.maximum() - self.minimum())) *
                      self.highlightStart + rectX)
         startY = (rectH - rectY) / 2
         width = int((rectW / (self.maximum() - self.minimum())) *
                     self.highlightEnd + rectX) - startX
         height = (rectH - startY) / 2
         c = QColor(0, 152, 116)
         p.setBrush(c)
         c.setAlphaF(0.3)
         p.setPen(QPen(c, 1.0))
         rectToPaint = QRect(startX, startY, width, height)
         p.drawRects(rectToPaint)
     super(HighlightedJumpSlider, self).paintEvent(event)
コード例 #8
0
ファイル: warehouse.py プロジェクト: Chen9811/MES
    def paintEvent(self, event):  # 在窗口上绘图
        painter = QPainter(self)
        painter.setRenderHint(QPainter.Antialiasing)
        painter.setRenderHint(QPainter.TextAntialiasing)
        ##设置画笔
        pen = QPen()
        pen.setWidth(3)
        pen.setColor(Qt.black)
        pen.setStyle(Qt.SolidLine)
        pen.setCapStyle(Qt.FlatCap)
        pen.setJoinStyle(Qt.BevelJoin)
        painter.setPen(pen)
        ##设置画刷
        brush = QBrush()
        brush.setColor(Qt.yellow)
        brush.setStyle(Qt.SolidPattern)
        painter.setBrush(brush)

        ##绘制货架
        W = self.width()
        H = self.height()
        rect1 = QRect(0, H*4/ 18, W*3 / 24, H*3 / 17)
        rect2 = QRect(0, H * 12 / 18, W*3 / 24, H *3/ 17)
        painter.drawRects(rect1,rect2)

        font = painter.font()
        font.setPointSize(0.0225*W)
        font.setBold(True)
        painter.setFont(font)
        rect = QRect(0, 0, W, H / 8)
        painter.drawText(rect, Qt.AlignCenter, '仓库平面图')
        painter.drawText(rect1,Qt.AlignCenter,'出口')
        painter.drawText(rect2, Qt.AlignCenter, '入口')
        shelfName=[['A1','A2','A3'],['B1','B2','B3'],
                   ['C1','C2','C3'],['D1','D2','D3']]

        horGap, horWidth, horDistance = 2, 4, 2
        verGap, verWidth, verDistance = 1, 2, 3
        horlen = 4 * horGap + 3 * horWidth + 2 * horDistance  #24
        verlen = 3 * verGap + 4 * verWidth + 3 * verDistance-2  #17

        for i in range(4):
            for j in range(3):
                if i==2:
                    ver=3-2/2
                elif i==3:
                    ver=3-2/3
                else:
                    ver = verDistance
                rect = QRect(W * (3*horGap + j * (horWidth + horDistance)) / horlen,
                             H * (2*verGap + i * (verWidth + ver)) / verlen,
                             W * (horWidth) / horlen, H * (verWidth) / verlen)
                painter.drawRect(rect)
                painter.drawText(rect, Qt.AlignCenter, shelfName[i][j])
        colorsix=[QColor(255,181,73),QColor(65,182,230),QColor(254,95,85),
                  QColor(30,227,207),QColor(13,63,103),QColor(228,23,73)]
        if self.allPoint!=[]:
            for i in range(len(self.allPoint)):
                points = []
                pen.setColor(colorsix[i])
                painter.setPen(pen)
                for point in self.allPoint[i]:
                    points.append(QPoint(point[0]*W/horlen-6*i,point[1]*H/verlen+6*i))
                painter.drawPolyline(QPolygon(points))
コード例 #9
0
 def paint(self,
           painter: QPainter,
           option: QStyleOptionGraphicsItem,
           widget: Optional[QWidget] = ...) -> None:
     if self.item_type == 'line':
         p_list = self.p_list
         if self.rotate_angle != 0:
             p_list = alg.rotate(self.p_list, self.rotate_center[0],
                                 self.rotate_center[1], self.rotate_angle)
         if self.scale_ratio != 0:
             p_list = alg.scale(self.p_list, self.scale_center[0],
                                self.scale_center[1], self.scale_ratio)
         item_pixels = alg.draw_line(p_list, self.algorithm)
         for p in item_pixels:
             painter.setPen(self.paintColor)
             painter.drawPoint(*p)
         if self.selected:
             painter.setPen(QColor(255, 0, 0))
             painter.drawRect(self.boundingRect())
     elif self.item_type == 'polygon':
         p_list = self.p_list
         if self.rotate_angle != 0:
             p_list = alg.rotate(self.p_list, self.rotate_center[0],
                                 self.rotate_center[1], self.rotate_angle)
         if self.scale_ratio != 0:
             p_list = alg.scale(self.p_list, self.scale_center[0],
                                self.scale_center[1], self.scale_ratio)
         item_pixels = alg.draw_polygon(p_list, self.algorithm)
         for p in item_pixels:
             painter.setPen(self.paintColor)
             painter.drawPoint(*p)
         if self.selected:
             painter.setPen(QColor(255, 0, 0))
             painter.drawRect(self.boundingRect())
     elif self.item_type == 'ellipse':
         p_list = self.p_list
         if self.scale_ratio != 0:
             p_list = alg.scale(self.p_list, self.scale_center[0],
                                self.scale_center[1], self.scale_ratio)
         item_pixels = alg.draw_ellipse(p_list)
         for p in item_pixels:
             painter.setPen(self.paintColor)
             painter.drawPoint(*p)
         if self.selected:
             painter.setPen(QColor(255, 0, 0))
             painter.drawRect(self.boundingRect())
     elif self.item_type == 'curve':
         p_list = self.p_list
         if self.rotate_angle != 0:
             p_list = alg.rotate(self.p_list, self.rotate_center[0],
                                 self.rotate_center[1], self.rotate_angle)
         if self.scale_ratio != 0:
             p_list = alg.scale(self.p_list, self.scale_center[0],
                                self.scale_center[1], self.scale_ratio)
         item_pixels = alg.draw_curve(p_list, self.algorithm)
         for p in p_list:
             painter.setPen(self.paintColor)
             painter.drawPoint(*p)
         for p in item_pixels:
             painter.drawPoint(*p)
         if self.selected:
             painter.setPen(QColor(255, 0, 0))
             painter.drawRect(self.boundingRect())
     elif self.item_type == 'select':
         x0, y0 = self.p_list[0]
         x1, y1 = self.p_list[1]
         x = min(x0, x1)
         y = min(y0, y1)
         w = max(x0, x1) - x
         h = max(y0, y1) - y
         painter.setPen(QColor(0, 0, 255))
         painter.drawRects(QRectF(x, y, w, h))
     elif self.item_type == 'rect':
         x0, y0 = self.p_list[0]
         x1, y1 = self.p_list[1]
         x = min(x0, x1)
         y = min(y0, y1)
         w = max(x0, x1) - x
         h = max(y0, y1) - y
         painter.setPen(self.paintColor)
         painter.drawRects(QRectF(x, y, w, h))
         if self.selected:
             painter.setPen(QColor(255, 0, 0))
             painter.drawRect(self.boundingRect())
     elif self.item_type == 'rotate':
         painter.drawPoint(*(self.p_list[0]))
     elif self.item_type == 'scale':
         painter.drawPoint(*(self.p_list[0]))
     elif self.item_type == 'clip':
         x0, y0 = self.p_list[0]
         x1, y1 = self.p_list[1]
         x = min(x0, x1)
         y = min(y0, y1)
         w = max(x0, x1) - x
         h = max(y0, y1) - y
         painter.setPen(QColor(0, 0, 255))
         painter.drawRects(QRectF(x, y, w, h))