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)
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)
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()
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)
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()
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)
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)
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))
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))