婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > pyqt5 設置窗口圓角及陰影的操作

pyqt5 設置窗口圓角及陰影的操作

熱門標簽:女王谷地圖標注 廈門crm外呼系統如何 n400電話申請多少錢 地圖標注推廣單頁 長春人工智能電銷機器人官網 西藏快速地圖標注地點 ai地圖標注 百應ai電銷機器人鄭州 如何在地圖標注文字

pyqt5 設置窗口圓角及陰影

效果:

代碼如下:

創建一個 圓角邊框的類,讓后直接繼承就行

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class RoundShadow(QWidget):
 """圓角邊框類"""
 def __init__(self, parent=None):
  super(RoundShadow, self).__init__(parent)
  self.border_width = 8
  # 設置 窗口無邊框和背景透明 *必須
  self.setAttribute(Qt.WA_TranslucentBackground)
  self.setWindowFlags(Qt.FramelessWindowHint | Qt.Window)
 def paintEvent(self, event):
  # 陰影
  path = QPainterPath()
  path.setFillRule(Qt.WindingFill)
  pat = QPainter(self)
  pat.setRenderHint(pat.Antialiasing)
  pat.fillPath(path, QBrush(Qt.white))
  color = QColor(192, 192, 192, 50)
  for i in range(10):
   i_path = QPainterPath()
   i_path.setFillRule(Qt.WindingFill)
   ref = QRectF(10-i, 10-i, self.width()-(10-i)*2, self.height()-(10-i)*2)
   # i_path.addRect(ref)
   i_path.addRoundedRect(ref, self.border_width, self.border_width)
   color.setAlpha(150 - i**0.5*50)
   pat.setPen(color)
   pat.drawPath(i_path)
  # 圓角
  pat2 = QPainter(self)
  pat2.setRenderHint(pat2.Antialiasing) # 抗鋸齒
  pat2.setBrush(Qt.white)
  pat2.setPen(Qt.transparent)
  rect = self.rect()
  rect.setLeft(9)
  rect.setTop(9)
  rect.setWidth(rect.width()-9)
  rect.setHeight(rect.height()-9)
  pat2.drawRoundedRect(rect, 4, 4)
class TestWindow(RoundShadow, QWidget):
 """測試窗口"""
 def __init__(self, parent=None):
  super(TestWindow, self).__init__(parent)
  self.resize(300, 300)
  
if __name__ == '__main__':
 app = QApplication(sys.argv)
 t = TestWindow()
 # t = RoundImage('./Asset/new_icons/close.png')
 t.show()
 app.exec_()

補充:用pyqt繪制一個無邊框、有陰影、帶圖片背景的(偽頂層)圓角窗口

對象:(要設置的只有Form和widget)

widget在Form內,緊貼著Form,之間隔著Form的layoutMargin(邊緣)的寬度:

對象Form的布局(邊緣)設置:

對象widget的布局(邊緣)設置:

思路:

首先先交代:

無邊框用:

self.setWindowFlag(Qt.FramelessWindowHint)

陰影用:

QGraphicsDropShadowEffect 

設置圖片背景用:

self.widget.setStyleSheet("QWidget#widget{background-image: url(./231.png);border-radius:30px;}")

至于為什么用setStyleSheet來設置圖片背景,我來解釋一下,首先繪制圖片背景有三個方法,

1、直接在widget上設置(我選擇這個方法,雖然圓角還是有一點點鋸齒)

self.widget.setStyleSheet("QWidget#widget{background-image: url(./231.png);border-radius:30px;}")

用border-radius:30px;來畫出圓角

2、用QPalette在widget上繪制出背景圖(無法畫出圓角):

self.widget.setAutoFillBackground(True) #一定要加上
palette=QPalette()
palette.setBrush(QPalette.Background, QBrush(QPixmap("F:\背景圖.png")));
self.widget.setPalette(palette)

注意:如果不需要繪制圓角的話,我認為本方法是繪制背景圖的首選,但要注意,必須先寫上面四句再用self.setStyleSheet(str)加載qss或css

3、重寫paintEvent函數時,用QPainter來繪制widget上的背景圖(圓角很完美,但是無法加載背景圖,可能是我比較菜):

 def paintEvent(self, QPaintEvent):
  painter=QPainter(self);
  painter.setPen(Qt.NoPen);
  brush=QBrush()
  brush.setTextureImage(QImage("F:\大創項目\\231.png")) # brush來加載背景圖
  painter.setBrush(brush) # painter來加載brush
  painter.setRenderHint(QPainter.Antialiasing) # 抗鋸齒化,如果不加的話,圓角的會有鋸齒
  painter.drawRoundedRect( 0, 0, self.width() - 1, self.height() - 1, 20, 20); #圓角設置

注意:QPainter只能在paintEvent函數中使用,要不然會直接報錯,原因是為了規范UI繪制的順序。

步驟如下:

一、

self.setAttribute(Qt.WA_TranslucentBackground) #將Form設置為透明
self.setWindowFlag(Qt.FramelessWindowHint) #將Form設置為無邊框

二、

self.shadow=QGraphicsDropShadowEffect()
self.shadow.setBlurRadius(10)
self.shadow.setColor(QColor(0, 0, 0, 500))
self.shadow.setOffset(6,6)
self.widget.setGraphicsEffect(self.shadow)

用QGraphicsDropShadowEffect將widget設置陰影,這樣widget就能在已經透明的Form的邊緣上留下陰影

三、

self.widget.setStyleSheet("QWidget#widget{background-image: url(./231.png);border-radius:30px;}")

注意:

Form的邊緣設置一定需要設置layoutMargin的,不然Form連邊緣都沒有,widget怎么能留下陰影

效果如下(這是我項目做的demo,別給我吐槽色調,還沒做完(#手動滑稽)):

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Python PyQt5-圖形界面的美化操作
  • python GUI庫圖形界面開發之PyQt5美化窗體與控件(異形窗體)實例
  • python GUI庫圖形界面開發之PyQt5窗口控件QWidget詳細使用方法
  • Python GUI庫PyQt5圖形和特效樣式QSS介紹

標簽:廊坊 渭南 黔東 綿陽 亳州 興安盟 拉薩 內江

巨人網絡通訊聲明:本文標題《pyqt5 設置窗口圓角及陰影的操作》,本文關鍵詞  pyqt5,設置,窗口,圓角,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《pyqt5 設置窗口圓角及陰影的操作》相關的同類信息!
  • 本頁收集關于pyqt5 設置窗口圓角及陰影的操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91精品国产一区二区三区香蕉| 国产精品对白交换视频| 69堂成人精品免费视频| 久久精品一二三| 五月激情六月综合| 91视频国产观看| 亚洲国产成人一区二区三区| 天天爽夜夜爽夜夜爽精品视频| www.一区二区| 国产精品久久三| 国产成人av电影在线播放| 91精品国产色综合久久久蜜香臀| 亚洲精品日韩专区silk| 99精品一区二区| 亚洲视频一区在线| av成人老司机| 亚洲欧美日韩在线| 91老师国产黑色丝袜在线| 精品国产三级电影在线观看| 亚洲高清视频在线| 宅男在线国产精品| 日本人妖一区二区| 在线不卡免费欧美| 奇米亚洲午夜久久精品| 日韩欧美在线影院| 极品少妇xxxx精品少妇| 久久婷婷国产综合精品青草| 黄页网站大全一区二区| 国产亚洲精品资源在线26u| 国产福利一区二区三区视频在线 | 色婷婷久久综合| 欧美精品久久99| 亚洲乱码中文字幕综合| 成人黄页毛片网站| 一区二区三区 在线观看视频| 欧美三级电影网站| 五月综合激情日本mⅴ| 日韩三级精品电影久久久 | 国产欧美精品一区| 国产成人av网站| 亚洲精选在线视频| 欧美日韩大陆在线| 久久国产婷婷国产香蕉| 久久九九影视网| 成人亚洲精品久久久久软件| 亚洲精品成人精品456| 91精品国产色综合久久ai换脸 | 成人性生交大片| 亚洲精品菠萝久久久久久久| 欧美一区二区三区免费大片| 国产呦萝稀缺另类资源| ㊣最新国产の精品bt伙计久久| 欧美三级中文字| 国产一区二区三区免费观看| 亚洲黄色在线视频| 日韩美女天天操| 一本色道a无线码一区v| 秋霞影院一区二区| 亚洲人快播电影网| 精品久久99ma| 精品视频999| 精品亚洲成a人| 有码一区二区三区| 69精品人人人人| 国产69精品一区二区亚洲孕妇| 亚洲电影你懂得| 国产无遮挡一区二区三区毛片日本| 91一区二区在线| 日本欧美大码aⅴ在线播放| 国产目拍亚洲精品99久久精品| 欧美主播一区二区三区美女| 国模一区二区三区白浆| 亚洲高清不卡在线| 久久久av毛片精品| 欧美日韩aaa| 成人黄色电影在线| 日韩和欧美的一区| 国产精品久久久久婷婷二区次| 制服视频三区第一页精品| 97精品久久久午夜一区二区三区| 精品一区二区三区免费| 视频一区二区欧美| 亚洲国产综合91精品麻豆| 欧美激情资源网| 欧美r级在线观看| 欧美日韩免费高清一区色橹橹| 成人精品在线视频观看| 国产又粗又猛又爽又黄91精品| 亚洲女同一区二区| 久久久久久久av麻豆果冻| 欧美一区二区三区四区视频| 欧美亚洲自拍偷拍| 96av麻豆蜜桃一区二区| 美国十次了思思久久精品导航| 亚洲综合一区在线| 亚洲欧美一区二区三区国产精品| 欧美成人女星排行榜| 欧美日韩亚洲另类| 在线视频国内一区二区| 一本到高清视频免费精品| 成人avav在线| 99久久er热在这里只有精品66| 国产成人免费xxxxxxxx| 国产激情一区二区三区| 麻豆精品国产91久久久久久| 香蕉影视欧美成人| 五月婷婷综合激情| 午夜视频一区二区三区| 亚洲国产美女搞黄色| 亚洲欧美另类图片小说| 日韩毛片一二三区| 亚洲人xxxx| 亚洲综合成人网| 午夜欧美大尺度福利影院在线看 | 欧美三级欧美一级| 在线观看91av| 精品欧美乱码久久久久久| 久久久久久99久久久精品网站| 久久综合丝袜日本网| 欧美高清在线一区| 亚洲乱码国产乱码精品精的特点 | 欧美一区二区三区视频在线| 欧美大片在线观看一区二区| 日韩欧美一区二区久久婷婷| 欧美电影免费提供在线观看| www精品美女久久久tv| 日本一区二区三区久久久久久久久不| 国产精品乱码妇女bbbb| 亚洲欧美日韩国产一区二区三区 | 免费在线看成人av| 精品综合免费视频观看| 国产999精品久久久久久绿帽| 91亚洲精品一区二区乱码| 欧美精品乱码久久久久久按摩 | 国产视频一区二区三区在线观看| 国产亚洲女人久久久久毛片| 亚洲同性gay激情无套| 丝袜亚洲另类欧美综合| 国产一区日韩二区欧美三区| 成人精品电影在线观看| 日本韩国欧美国产| 日韩视频在线一区二区| 国产片一区二区| 亚洲精品大片www| 久久99国产精品麻豆| 不卡的av网站| 欧美高清视频一二三区| 久久精品人人做人人爽人人| 一区二区成人在线| 国产乱人伦精品一区二区在线观看 | 日韩三级在线免费观看| 中文幕一区二区三区久久蜜桃| 夜夜精品视频一区二区| 久久成人综合网| 日本韩国欧美一区| 国产性做久久久久久| 午夜精品一区二区三区电影天堂| 国内一区二区在线| 欧洲生活片亚洲生活在线观看| 久久蜜臀精品av| 五月综合激情婷婷六月色窝| 国产成人精品一区二区三区四区| 一本到三区不卡视频| 久久精品夜色噜噜亚洲a∨ | wwwwww.欧美系列| 中文字幕一区二区视频| 美美哒免费高清在线观看视频一区二区| 成人午夜大片免费观看| 日韩精品一区二区三区老鸭窝| 亚洲男人的天堂av| 精久久久久久久久久久| 成人免费视频播放| 欧美一区二区三区免费视频| 国产精品剧情在线亚洲| 日本中文字幕一区二区视频| 在线亚洲高清视频| 国产欧美日韩视频在线观看| 亚洲香肠在线观看| 成人中文字幕在线| 国产三级欧美三级日产三级99| 亚洲一级不卡视频| 99久久精品久久久久久清纯| 国产网站一区二区| 久久er99热精品一区二区| 欧美日韩亚洲另类| 国产精品毛片高清在线完整版| 日本免费新一区视频| 欧美日韩黄色一区二区| 亚洲精品乱码久久久久久久久 | 久久久综合九色合综国产精品| 丝袜亚洲另类欧美| 欧美日韩一区小说| 亚洲免费观看高清完整版在线观看 | 午夜精品免费在线观看| 日本精品一区二区三区高清| 国产精品久久二区二区| 国产美女一区二区三区| 久久久99精品免费观看不卡| 精品中文字幕一区二区小辣椒| 欧美电视剧免费全集观看|