pyqt 5 마스크 마스크,setmask 사용

3619 단어 pyqt5커버
1.이해
4.567914.와 4.567914.보통 pyqt 에서 그림 을 그 릴 때 흔히 볼 수 있 고 불규칙 한 도형 을 표시 할 때 더욱 흔히 볼 수 있다.
참고 서 에 따 르 면
setMask()함수 의 역할 은 컨트롤 을 호출 하기 위해 마스크 를 추가 하고 선택 한 영역 이외 의 부분 을 가 려 서 컨트롤 을 투명 하 게 보이 게 하 는 것 입 니 다.매개 변 수 는 QBitmap 대상 이나 QRegion 대상 일 수 있 습 니 다.
사실 책 에서 잘 말 했 는데,애석 하 게 도 나의 이해력 이 이 르 지 못 했다.😂
이제 제 이 해 를 말씀 드 리 겠 습 니 다.
4mask()추 가 된 마스크 커버 는 QBitmap 대상(바로 흑백 사진)일 때 PS 의 마스크 와 대체적으로 일치 합 니 다.검은색 은 현재 호출 된 GUI 인 터 페 이 스 를 마스크 로 바 꾸 고 전체 인 터 페 이 스 는 검은색 입 니 다.흰색 은 현재 GUI 화면,즉 몽타주 영역 을 흰색 으로 칠 하면 현재 몽타주 아래 화면 을 볼 수 있 습 니 다.이 는 PS 와 도 일치한다.
그리고 4.567914.보통 그림 에 자신 에 게 몽타주 를 추가 합 니 다.
2.예

import sys
from PyQt5.QtCore import Qt, QRect, QPoint
from PyQt5.QtWidgets import QWidget, QApplication, QDesktopWidget
from PyQt5.QtGui import QPixmap, QPainter, QBitmap, QCursor, QPen, QBrush
import PyQt5.QtCore as QtCore

'''
# setMask()                 ,           ,         。
#        QBitmap QRegion  ,    QPixmap mask()           ,   QBitmap  ,
#         Png  ,               
'''

class PixWindow(QWidget):  #      

    """
           ,             (  gui  ,gui        ,            ,                   ),    ,mask       
    """
    def __init__(self):
        super().__init__()
        self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
        self.setStyleSheet('''background-color:black; ''')
        # self.setWindowOpacity(0.5)       
        print(self.geometry().x())

        self.pix = QBitmap('mask.png')  #   
        self.resize(self.pix.size())  #     GUI          
        

    def paintEvent(self, event):  #     

        pp = QPainter(self.pix)  #          pix     
        pen = QPen(Qt.red, 4)  #   
        # pen.setStyle(Qt.NoPen)  #      
        pp.setPen(pen)  #           
        brush = QBrush(Qt.white)   #   ,        ,                
        pp.setBrush(brush)
        #      ,【rectangle  】
        self.startPoint = QPoint(5,5)
        self.endPoint = QPoint(300,200)
        pp.drawRect(QRect(self.startPoint, self.endPoint))  #    mask    ,
        #    mask    ,          (         ,  gui     ),       
        self.setMask(self.pix)  #      GUI       


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = PixWindow()
    win.show()
    sys.exit(app.exec_())
마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.
마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.
마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.
실행 결과
image-20201129143751044
전체 인 터 페 이 스 를 몽타주 로 사용 하기 때문에 정상 적 인 닫 기 단추 가 없습니다.IDE 편집기 가 실행 을 중지 하 는 단 추 를 눌 러 서 프로그램 을 닫 을 수도 있 고 다른 방법 을 통 해 닫 을 수도 있 습 니 다.
다음은 제 가 투명 도 를 0.6 으로 설정 하고 화면 을 보 겠 습 니 다.

self.setWindowOpacity(0.6)
image-20201129144113261
마스크 그림 을 스스로 추가 해 야 합 니 다.
다음은 제 가 사용 하 는 마스크 그림 입 니 다.어서 오 세 요.
image-20201129144259121
pyqt 5 마스크 마스크,setmask 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 pyqt 5 마스크 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기