def roundCorners(rectangle, radius): '''Get region for setting round edges mask''' region = QRegion() region += rectangle.adjusted(radius,0,-radius,0) region += rectangle.adjusted(0,radius,-0,-radius) corner = QRect(rectangle.topLeft(), QSize(radius*2,radius*2)) region += QRegion(corner, QRegion.Ellipse) corner.moveTopRight(rectangle.topRight()) region += QRegion(corner, QRegion.Ellipse) corner.moveBottomLeft(rectangle.bottomLeft()) region += QRegion(corner, QRegion.Ellipse) corner.moveBottomRight(rectangle.bottomRight()) region += QRegion(corner, QRegion.Ellipse) return region
def mask(rect, r): region = QRegion() region += rect.adjusted(r, 0, -r, 0) region += rect.adjusted(0, r, 0, -r) # top left corner = QRect(rect.topLeft(), QSize(r * 2, r * 2)) region += QRegion(corner, QRegion.Ellipse) # top right corner.moveTopRight(rect.topRight()) region += QRegion(corner, QRegion.Ellipse) # bottom left corner.moveBottomLeft(rect.bottomLeft()) region += QRegion(corner, QRegion.Ellipse) # bottom right corner.moveBottomRight(rect.bottomRight()) region += QRegion(corner, QRegion.Ellipse) return region