PyQt5 实现不规则窗口异形窗口 案例 通过mask实现异形窗口,需要一张透明的png图,透明部分被抠出,形成一个非矩形的区域
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QIcon, QBitmap, QPainter, QPixmap
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QMessageBox, QApplication, QVBoxLayout, QWidget, \
QLabel, QGridLayout, QLineEdit, QTextEdit, QFormLayout, QComboBox
'''
PyQt5 实现不规则窗口异形窗口 案例
通过mask实现异形窗口,需要一张透明的png图,透明部分被抠出,形成一个非矩形的区域
'''
class AbnormityWindowDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 设置定位和左上角坐标
self.setGeometry(300, 300, 360, 260)
# 设置窗口标题
self.setWindowTitle('异形窗口 的演示')
# 设置窗口图标
# self.setWindowIcon(QIcon('../web.ico'))
self.pix = QBitmap('Black.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('Black.png'))
if __name__ == '__main__':
app = QApplication(sys.argv)
# 设置应用图标
app.setWindowIcon(QIcon('../web.ico'))
w = AbnormityWindowDemo()
w.show()
sys.exit(app.exec_())