亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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 設置窗口圓角及陰影的操作的相關信息資訊供網民參考!
  • 推薦文章
    国产一区精品| 韩国三级一区| 韩国毛片免费大片| 成人免费观看的视频黄页| 国产高清在线精品一区a| 日韩专区在线播放| 亚洲爆爽| 日韩在线观看免费| 久久99这里只有精品国产| 国产伦精品一区二区三区在线观看| 天堂网中文字幕| 日本免费看视频| 黄视频网站在线看| 999久久狠狠免费精品| 色综合久久手机在线| 韩国三级视频网站| 亚欧视频在线| 午夜久久网| 欧美大片aaaa一级毛片| 可以免费看毛片的网站| 亚洲第一色在线| 国产福利免费观看| 欧美激情一区二区三区在线 | 天堂网中文在线| 国产亚洲男人的天堂在线观看| 精品久久久久久中文| 午夜激情视频在线观看| 精品国产一区二区三区久| 人人干人人草| 欧美大片aaaa一级毛片| 97视频免费在线观看| 欧美国产日韩精品| 久久成人亚洲| 精品在线观看一区| 亚洲第一页色| 免费一级片在线| 国产不卡福利| 精品国产一区二区三区免费 | 久久精品道一区二区三区| 国产原创中文字幕| 日本在线www| 一级毛片视频免费| 欧美国产日韩精品| 国产91精品一区二区| 成人免费观看男女羞羞视频| 尤物视频网站在线| 91麻豆精品国产高清在线| 99久久精品费精品国产一区二区| 精品国产亚一区二区三区| 欧美激情一区二区三区视频 | 天堂网中文在线| 欧美爱爱网| 欧美激情一区二区三区视频 | 你懂的福利视频| 日韩在线观看视频免费| 国产精品自拍一区| 青青久在线视频| 91麻豆高清国产在线播放| 久久久久久久免费视频| 国产成+人+综合+亚洲不卡| 九九久久国产精品大片| 国产一区二区精品久久| 香蕉视频久久| 高清一级淫片a级中文字幕| 美女免费精品高清毛片在线视 | 国产精品免费精品自在线观看| 成人av在线播放| 999久久66久6只有精品| 九九久久99| 欧美激情一区二区三区视频| 在线观看成人网| 国产a视频精品免费观看| 一级毛片视频播放| 你懂的福利视频| 日韩av东京社区男人的天堂| 91麻豆tv| 夜夜操天天爽| 精品久久久久久中文字幕一区| 国产网站免费观看| 91麻豆国产| 久久国产一久久高清| 国产精品自拍一区| 天天色色色| 亚欧乱色一区二区三区| 一级毛片视频免费| 国产网站免费观看| 天天做日日干| 精品久久久久久中文字幕2017| 91麻豆tv| 久久精品大片| 亚久久伊人精品青青草原2020| 九九九国产| 国产精品123| 超级乱淫伦动漫| 国产福利免费观看| 91麻豆高清国产在线播放| 国产一区二区精品在线观看| 99久久精品国产国产毛片| 精品国产一区二区三区国产馆| 欧美电影免费看大全| 欧美18性精品| 日本特黄特黄aaaaa大片| 精品视频在线看| 欧美电影免费看大全| 九九干| 午夜激情视频在线观看 | 国产一区二区精品| 精品视频一区二区三区| 午夜在线亚洲| 麻豆系列 在线视频| 国产不卡高清| 亚洲第一页乱| 久久久久久久免费视频| 青青青草影院| 99色视频| 超级乱淫伦动漫| 成人高清护士在线播放| 美女免费精品高清毛片在线视 | 麻豆系列 在线视频| 国产网站在线| 精品国产一区二区三区久久久狼| 91麻豆高清国产在线播放| 欧美1区| 国产一区二区精品| 日本免费乱理伦片在线观看2018| 精品久久久久久中文| 午夜激情视频在线观看| 成人高清视频在线观看| 你懂的福利视频| 国产精品自拍在线| 亚洲精品中文字幕久久久久久| 日韩在线观看视频免费| 夜夜操天天爽| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 麻豆污视频| 99久久精品国产免费| 九九干| 欧美激情一区二区三区视频 | 99久久精品费精品国产一区二区| 精品在线观看国产| 久久99这里只有精品国产| 天天色色色| a级毛片免费观看网站| 亚洲 激情| 国产不卡精品一区二区三区| 日韩在线观看免费完整版视频| 天堂网中文在线| 韩国毛片免费大片| 亚洲第一色在线| 精品视频在线看| 精品久久久久久免费影院| 日日夜夜婷婷| 99久久精品费精品国产一区二区| 四虎影视久久| 可以在线看黄的网站| 亚欧视频在线| 午夜激情视频在线观看 | 国产成人啪精品| 午夜家庭影院| 美女免费精品视频在线观看| 国产一区二区精品久久| 日韩专区在线播放| 99久久精品国产麻豆| 一级毛片看真人在线视频| 国产视频久久久久| 国产美女在线观看| 久草免费在线视频| 99色视频在线观看| 日日夜人人澡人人澡人人看免| 免费毛片播放| 国产精品免费精品自在线观看| 日韩男人天堂| 韩国三级视频在线观看| 亚洲第一色在线| 欧美另类videosbestsex | 毛片高清| 青青久久网| 精品国产一区二区三区精东影业| 日韩中文字幕一区| 精品国产一级毛片| 精品视频一区二区三区免费| 欧美大片a一级毛片视频| 日韩专区第一页| 亚飞与亚基在线观看| 国产麻豆精品hdvideoss| 午夜精品国产自在现线拍| 久久国产影院| 亚洲第一页乱| 成人免费网站久久久| 国产视频一区二区在线观看| 九九久久99综合一区二区| 国产网站在线| 久久国产影院| 国产精品自拍在线观看| 国产视频一区二区在线观看 | 99色视频在线观看| 韩国三级香港三级日本三级| 精品国产香蕉伊思人在线又爽又黄| 国产一区二区精品| 日韩在线观看网站|