实现圆形图片我们有两种方式:
第一种:使用 qss样式表的 border-radius 来实现控件的圆形效果,但这种方式会出现边界锯齿模糊的问题
第二种:重写控件 paintEvent 事件来重新绘制
这里我们讨论的是第二种方式,下面是控件实现的代码:
class CircleImage(QWidget):
'''绘制圆形图片'''
def __init__(self, parent=None):
super(CircleImage, self).__init__(parent)
self.resize(100, 100)
self.circle_image = None
def set_image(self, image):
'''设置绘制的图片'''
self.circle_image = image
self.update()
def paintEvent(self, event):
'''重写绘制事件'</