我就廢話不多說了,大家還是直接看代碼吧~
#! /usr/bin/env python # -*- coding:utf-8 -*- import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QPalette, QBrush, QPixmap class NoBorderWindow(QWidget): def __init__(self): super().__init__() self.window_UI() self.drawn() def window_UI(self): self.resize(950, 200) self.setWindowFlags(Qt.FramelessWindowHint) def drawn(self): self.palette = QPalette() self.palette.setBrush(QPalette.Background, QBrush(QPixmap("./images/bg.gif"))) self.setPalette(self.palette) if __name__ == "__main__": app = QApplication(sys.argv) win = NoBorderWindow() win.show() sys.exit(app.exec_())
補充:PyQt5 設置QWidget窗口背景圖片問題
QWidget 創(chuàng)建的窗口有時并不能直接用 setStyleSheet 設置窗口部分樣式
比如背景圖,在Qt Designer 設置好背景圖樣式了 QWidget#Form{ … } 并能看到效果
但轉(zhuǎn)為 python3 代碼后,運行程序顯示不了這個背景圖
如果樣式使用的是 background-image 就好辦了,
直接使用下面代碼替換,即使用 QPalette 控件重新畫背景圖
palette = QPalette() palette.setBrush(QPalette.Background, QBrush(QPixmap(":/pic/images/sysBackground.jpg"))) self.setPalette(palette)
background-image: 背景圖,默認原圖大小,窗口空余部分填充此背景圖
border-image: 默認跟隨窗口大小進行拉伸
image: 默認原圖大小,窗口空余部分不補充
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
標簽:文山 昆明 錫林郭勒盟 浙江 石家莊 西寧 懷化 梅州
巨人網(wǎng)絡通訊聲明:本文標題《PyQt5 實現(xiàn)給無邊框widget窗口添加背景圖片》,本文關鍵詞 PyQt5,實現(xiàn),給,無,邊框,widget,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。