业务需求中经常需要头像是圆形的,一些数字底部有圆形背景,于是将其整理出来,以便以后方便的使用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| class CircleThumbWiget(QWidget): def __init__(self, parent=None, radius=40): """ radius 表示这个圆形控件的大小 """ super(CircleThumbWiget, self).__init__(parent) self.imageLabel = QLabel(self) self.imageLabel.setScaledContents(True) self.imageLabel.setGeometry(0, 0, radius, radius) defaultPixmap = QPixmap("resources/icon/default_user.png") self.imageLabel.setPixmap(defaultPixmap) img = QImage("resources/icon/default_user_mask.png") bg = QPixmap.fromImage(img.scaled(QSize(radius, radius), Qt.IgnoreAspectRatio)) palette = self.palette() palette.setBrush(QPalette.Background, QBrush(bg)) self.setPalette(palette) self.setMask(bg.mask())
def setPixmap(self, pixmap): self.imageLabel.setPixmap(pixmap)
|