PySide2设置圆角窗口
作者:YXN-python 阅读量:11 发布日期:2024-10-21
方案一
# 窗口设置圆角
def paintEvent(self, event):
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing) # 抗锯齿
# 创建一个矩形,与窗口相同大小
rect = QRectF(self.rect())
# 定义圆角半径
radius = 10
# 创建一个带有圆角的路径
path = QPainterPath()
path.addRoundedRect(rect, radius, radius)
# 使用路径创建一个区域并设置窗口的掩码
self.setMask(path.toFillPolygon().toPolygon())
# 绘制背景颜色
painter.fillPath(path, QColor(255, 255, 255))
方案二
def paintEvent(self, event):
# 创建一个 QRegion 来定义窗口的圆角
path = QtGui.QPainterPath()
rect = self.rect()
# 定义圆角矩形的弧度
radius = 10.0
path.addRoundedRect(rect, radius, radius)
# 使用 setMask 方法应用圆角
self.setMask(QtGui.QRegion(path.toFillPolygon().toPolygon()))
YXN-python
2024-10-21