pyqt 5 마스크 마스크,setmask 사용
4.567914.와 4.567914.보통 pyqt 에서 그림 을 그 릴 때 흔히 볼 수 있 고 불규칙 한 도형 을 표시 할 때 더욱 흔히 볼 수 있다.
참고 서 에 따 르 면
setMask()함수 의 역할 은 컨트롤 을 호출 하기 위해 마스크 를 추가 하고 선택 한 영역 이외 의 부분 을 가 려 서 컨트롤 을 투명 하 게 보이 게 하 는 것 입 니 다.매개 변 수 는 QBitmap 대상 이나 QRegion 대상 일 수 있 습 니 다.
사실 책 에서 잘 말 했 는데,애석 하 게 도 나의 이해력 이 이 르 지 못 했다.😂
이제 제 이 해 를 말씀 드 리 겠 습 니 다.
4
mask()
추 가 된 마스크 커버 는 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_())
마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.
마스크 그림 을 추가 해 야 프로그램 을 실행 할 수 있 습 니 다.
실행 결과
전체 인 터 페 이 스 를 몽타주 로 사용 하기 때문에 정상 적 인 닫 기 단추 가 없습니다.IDE 편집기 가 실행 을 중지 하 는 단 추 를 눌 러 서 프로그램 을 닫 을 수도 있 고 다른 방법 을 통 해 닫 을 수도 있 습 니 다.
다음은 제 가 투명 도 를 0.6 으로 설정 하고 화면 을 보 겠 습 니 다.
self.setWindowOpacity(0.6)
마스크 그림 을 스스로 추가 해 야 합 니 다.
다음은 제 가 사용 하 는 마스크 그림 입 니 다.어서 오 세 요.
pyqt 5 마스크 마스크,setmask 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 pyqt 5 마스크 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PyQt5에서 QWebEngineView를 JavaScript와 상호 작용하는 방법준비 작업 개발 환경 Python 3.8.1 Windows 10 설치 종속 파이썬단 1. QWebChannel의 register Object("JsBridge 이름", "JsBridge") 방법으로 콜백 등록 JsB...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.