最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pyqt5蒙版遮罩mask,setmask的使用

 更新時(shí)間:2021年06月10日 16:05:35   作者:集電極  
mask()和setmask()一般是在pyqt繪圖時(shí)常見,本文就來介紹一下pyqt5蒙版遮罩mask,setmask的使用,具有一定的參考價(jià)值,感興趣的可以了解一下

1.理解

mask()setmask()一般是在pyqt繪圖時(shí)常見,而且在顯示不規(guī)則圖形時(shí)更是常見。

參考書籍上說:

setMask()函數(shù)的作用是為調(diào)用它的控件增加一個(gè)遮罩,遮住所選區(qū)域以外的部分,使控件看起來是透明的。它的參數(shù)可以是一個(gè)QBitmap對象或一個(gè)QRegion對象。

其實(shí)書上說的不錯(cuò),可惜我的理解能力達(dá)不到啊😂

接下來說說我的理解

當(dāng)setmask()添加的遮罩蒙版是QBitmap對象(就是黑白圖片)時(shí),和PS的蒙版作用是大體一致的,黑色就是把當(dāng)前調(diào)用的GUI界面變成蒙版,整個(gè)界面是黑色的。而白色可以透過當(dāng)前GUI界面,即如果把蒙版的區(qū)域涂成白色的話,就可以看到當(dāng)前蒙版下面的界面了。這和PS也是一致的。

mask()一般是給圖片自己增加蒙版

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()的作用是為調(diào)用它的控件增加一個(gè)遮罩,遮住所選區(qū)域以外的部分,使之看起來是透明的。
# 它的參數(shù)可以為QBitmap或QRegion對象,此處調(diào)用QPixmap的mask()函數(shù)獲得圖片自身的遮罩,是一個(gè)QBitmap對象,
# 在示例中使用的是Png格式,它的透明部分實(shí)際上就是一個(gè)遮罩
'''

class PixWindow(QWidget):  # 不規(guī)則窗體

    """
    證明蒙版的作用,白色顯示當(dāng)前蒙版遮住的界面(不是gui界面,gui界面就是一個(gè)蒙版,可以看到蒙版的顏色是黑色,但可以通過設(shè)置界面透明度使黑色變成灰色),黑色遮蔽,mask之外的地方透明
    """
    def __init__(self):
        super().__init__()
        self.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint)
        self.setStyleSheet('''background-color:black; ''')
        # self.setWindowOpacity(0.5)  設(shè)置透明度
        print(self.geometry().x())

        self.pix = QBitmap('mask.png')  # 蒙版
        self.resize(self.pix.size())  # 設(shè)置當(dāng)前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)   # 畫刷,填充鋼筆畫的區(qū)域,填充白色是因?yàn)榘咨梢允姑砂嫱该?
        pp.setBrush(brush)
        # 畫一個(gè)矩形,【rectangle矩形】
        self.startPoint = QPoint(5,5)
        self.endPoint = QPoint(300,200)
        pp.drawRect(QRect(self.startPoint, self.endPoint))  # 在蒙版mask上畫矩形,
        # 在蒙版mask上畫矩形,使矩形以內(nèi)蒙版是白色(可以說是在蒙版之外,使得gui界面透明了),以外蒙版是黑色
        self.setMask(self.pix)  # 把當(dāng)前整個(gè)GUI界面設(shè)置為蒙版


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = PixWindow()
    win.show()
    sys.exit(app.exec_())

注意要自己添加mask圖片才可以運(yùn)行程序

注意要自己添加mask圖片才可以運(yùn)行程序

注意要自己添加mask圖片才可以運(yùn)行程序

運(yùn)行結(jié)果

image-20201129143751044

由于是把整個(gè)界面作為蒙版,所以沒有正常的關(guān)閉按鈕,可以IDE編輯器停止運(yùn)行按鈕來關(guān)閉程序,也可以通過其他方法

下面我來試一下把透明度設(shè)置為0.6,看看界面

self.setWindowOpacity(0.6)

image-20201129144113261

注意要自己添加mask圖片

下面是我使用的mask圖片,歡迎使用

image-20201129144259121

到此這篇關(guān)于pyqt5蒙版遮罩mask,setmask的使用的文章就介紹到這了,更多相關(guān)pyqt5蒙版遮罩 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    這篇文章主要介紹了python的自變量選擇(所有子集回歸,后退法,逐步回歸),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python字典底層實(shí)現(xiàn)原理詳解

    Python字典底層實(shí)現(xiàn)原理詳解

    今天小編就為大家分享一篇Python字典底層實(shí)現(xiàn)原理詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python networkx 根據(jù)圖的權(quán)重畫圖實(shí)現(xiàn)

    python networkx 根據(jù)圖的權(quán)重畫圖實(shí)現(xiàn)

    這篇文章主要介紹了python networkx 根據(jù)圖的權(quán)重畫圖實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python 默認(rèn)參數(shù)問題的陷阱

    python 默認(rèn)參數(shù)問題的陷阱

    本文給大家講述的是python 默認(rèn)參數(shù)問題的陷阱,有需要的小伙伴可以參考下
    2016-02-02
  • python通過yield實(shí)現(xiàn)數(shù)組全排列的方法

    python通過yield實(shí)現(xiàn)數(shù)組全排列的方法

    這篇文章主要介紹了python通過yield實(shí)現(xiàn)數(shù)組全排列的方法,實(shí)例分析了全排列的概念及yield實(shí)現(xiàn)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python3 配置logging日志類的操作

    python3 配置logging日志類的操作

    這篇文章主要介紹了python3 配置logging日志類的操作方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python爬蟲谷歌Chrome F12抓包過程原理解析

    Python爬蟲谷歌Chrome F12抓包過程原理解析

    這篇文章主要介紹了Python爬蟲谷歌Chrome F12抓包過程原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python 實(shí)現(xiàn)A*算法的示例代碼

    python 實(shí)現(xiàn)A*算法的示例代碼

    本篇文章主要介紹了python 實(shí)現(xiàn)A*算法的示例代碼,A*作為最常用的路徑搜索算法,值得我們?nèi)ド羁痰难芯?,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 使用Python進(jìn)行數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)代碼

    使用Python進(jìn)行數(shù)據(jù)清洗和預(yù)處理的實(shí)現(xiàn)代碼

    Python作為數(shù)據(jù)科學(xué)領(lǐng)域的熱門編程語言,提供了豐富的庫和工具來處理和清洗數(shù)據(jù),本文將介紹如何使用Python進(jìn)行數(shù)據(jù)清洗和預(yù)處理,并提供相應(yīng)的代碼示例,需要的朋友可以參考下
    2024-05-05
  • python操作excel之xlwt與xlrd

    python操作excel之xlwt與xlrd

    這篇文章主要介紹了python使用xlwt與xlrd操作excel,需要的朋友可以參考下
    2022-12-12

最新評論

额敏县| 南雄市| 青岛市| 诏安县| 潜山县| 炎陵县| 克拉玛依市| 辽宁省| 乾安县| 林芝县| 曲阳县| 盘锦市| 台北市| 罗定市| 肃宁县| 错那县| 航空| 白玉县| 阳原县| 大安市| 洞口县| 张家川| 金乡县| 定西市| 冀州市| 民和| 锡林浩特市| 涿州市| 青岛市| 靖江市| 时尚| 曲周县| 射阳县| 普兰店市| 西乌珠穆沁旗| 静海县| 波密县| 集贤县| 保德县| 古丈县| 罗田县|