PyQt5基础学习-掩膜实现不规则形状图片 1.QWidget.setMask(设置掩膜) 2.QPainter().drawPixmap(绘制图片)

设置掩膜,在画图时,导入掩膜的长和宽

AbnormityWindow.py 

复制代码
"""
实现不规则窗口(异形窗口)

通过mask实现异形窗口

需要一张透明的png图, 透明部分被扣出, 形成一个非矩形区域
"""

import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

class AbnormityWindow(QWidget):
    def __init__(self):
        super(AbnormityWindow, self).__init__()
        self.setWindowTitle("异形窗口")
        self.pix = QBitmap("../picture/mask.png")
        self.resize(self.pix.size())
        self.setMask(self.pix)

    def paintEvent(self, event):
        painter = QPainter(self)
        painter.drawPixmap(0, 0, self.pix.width(), self.pix.height()
                           , QPixmap("../picture/screen1.jpg"))


if __name__ == "__main__":
    app = QApplication(sys.argv)
    form = AbnormityWindow()
    form.show()
    sys.exit(app.exec_())
复制代码

 

posted @   c语言我的最爱  阅读(838)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示