def paint(self, painter, option, widget): """Overwrites BlockItem.paint so that we can fill in the block rectangles""" brush = QBrush() brush.setStyle(Qt.SolidPattern) brush.setColor(self.bgcolor) painter.fillRect(self.rect(), brush) border_pen = QPen() border_pen.setBrush(self.border_color) border_pen.setStyle(Qt.SolidLine) border_pen.setWidth(self.border_width) painter.setPen(border_pen) painter.drawRect(self.rect())
def paint(self, painter, option, widget): # Paint background brush = QBrush() brush.setStyle(Qt.SolidPattern) brush.setColor(self.bgcolor) painter.fillRect(self.rect(), brush) # Paint border border_pen = QPen() border_pen.setBrush(self.border_color) border_pen.setStyle(Qt.SolidLine) border_pen.setWidth(self.border_width) painter.setPen(border_pen) painter.drawRect(self.rect()) rect = self.geometry() # Create arrows arrow_scale = 0.25 arrow_width = rect.width() * arrow_scale arrow_height = arrow_width * 0.8 arrow_margin = (rect.width() - arrow_width) / 2.0 brush.setColor(self.label_color) painter.setPen(Qt.NoPen) painter.setBrush(brush) arrow = None if self.topBand == self.dest_band_item: # Draw pointing up arrow = QPolygon([QPoint(0, arrow_height), QPoint(arrow_width, arrow_height), QPoint(arrow_width / 2.0, 0)]) arrow.translate(self.rect().x() + arrow_margin, self.rect().y() + 1) else: # Draw pointing down arrow = QPolygon([QPoint(0, 0), QPoint(arrow_width, 0), QPoint(arrow_width / 2.0, arrow_height)]) arrow.translate(self.rect().x() + arrow_margin, self.rect().y() + rect.height() - arrow_height) painter.drawPolygon(arrow) # Label painter.setPen(self.label_color) painter.rotate(-90) fm = painter.fontMetrics() elided = fm.elidedText(self.label, Qt.ElideRight, rect.height()) twidth = fm.width(elided) painter.drawText(-twidth - (rect.height() - twidth) / 2, rect.width() - 2, elided)
def paint(self, painter, option, widget): # Paint background brush = QBrush() brush.setStyle(Qt.SolidPattern) brush.setColor(self.bgcolor) painter.fillRect(self.rect(), brush) # Paint border border_pen = QPen() border_pen.setBrush(self.border_color) border_pen.setStyle(Qt.SolidLine) border_pen.setWidth(self.border_width) painter.setPen(border_pen) painter.drawRect(self.rect()) rect = self.geometry() # Create arrows arrow_scale = 0.25 arrow_width = rect.width() * arrow_scale arrow_height = arrow_width * 0.8 arrow_margin = (rect.width() - arrow_width) / 2.0 brush.setColor(self.label_color) painter.setPen(Qt.NoPen) painter.setBrush(brush)