您现在的位置是:网站首页 > 博客日记 >

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