我就廢話不多說了,大家還是直接看代碼吧~
#! /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 添加背景圖片問題
QWidget 創建的窗口有時并不能直接用 setStyleSheet 設置窗口部分樣式
比如背景圖,在Qt Designer 設置好背景圖樣式了 QWidget#Form{ … } 并能看到效果
但轉為 python3 代碼后,運行程序顯示不了這個背景圖
如果樣式使用的是 background-image 就好辦了,
直接使用下面代碼替換,即使用 QPalette 控件重新畫背景圖
palette = QPalette()
palette.setBrush(QPalette.Background, QBrush(QPixmap(":/pic/images/sysBackground.jpg")))
self.setPalette(palette)
QSS 背景圖樣式區別:
background-image: 背景圖,默認原圖大小,窗口空余部分填充此背景圖
border-image: 默認跟隨窗口大小進行拉伸
image: 默認原圖大小,窗口空余部分不補充
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- 解決PyQt5 無邊框后窗口的移動問題
- Qt無邊框窗口拖拽和陰影的實現方法
- Qt透明無邊框窗口的實現示例
- Pyqt實現無邊框窗口拖動以及窗口大小改變
- PyQt5實現無邊框窗口的標題拖動和窗口縮放
- Python開發之QT解決無邊框界面拖動卡屏問題(附帶源碼)