文章目录

  • 1、QSS设置窗口背景
  • 2、QPalette设置窗口背景
  • paintEvent绘制窗口背景

窗口背景主要包括背景色和背景图片。设置窗口背景主要有三种方法:

  • QSS设置窗口背景;
  • QPalette设置窗口背景;
  • paintEvent函数内部使用QPainter绘制窗口背景。

1、QSS设置窗口背景

通过QSS可以设置窗口的背景色或背景图片。

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class MainWindow(QWidget):def __init__(self, parent=None):super().__init__(parent)self.setObjectName("mainWindow")qss = "QWidget#mainWindow{background-color:black;}"# qss = "QWidget#mainWindow{border-image:url(background.png);}"self.setStyleSheet(qss)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

2、QPalette设置窗口背景

使用QPalette设置窗口背景颜色。

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class MainWindow(QWidget):def __init__(self, parent=None):super().__init__(parent)palette = QPalette()palette.setColor(QPalette.Background, Qt.black)self.setPalette(palette)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

使用QPalette设置窗口背景图片时,需要考虑背景图片的尺寸,当背景图片的宽度和高度大于窗口的宽度和高度时,背景图片将会平铺整个窗口;当背景图片的宽度和高度小于窗口的宽度和高度时,则加载多个背景图片。
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class MainWindow(QWidget):

def __init__(self, parent=None):super().__init__(parent)palette = QPalette()palette.setBrush(QPalette.Background, QBrush(QPixmap("background.png")))self.setPalette(palette)

if name == “main”:
app = QApplication(sys.argv)
window = MainWindow()
window.show()

sys.exit(app.exec_())

paintEvent绘制窗口背景

在paintEvent函数内部绘制背景色:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class MainWindow(QWidget):def __init__(self, parent=None):super().__init__(parent)self.setWindowTitle("MainWindow")def paintEvent(self, event):painter = QPainter(self)painter.setBrush(Qt.black)painter.drawRect(self.rect())if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

在paintEvent函数内部绘制背景图片:

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *class MainWindow(QWidget):def __init__(self, parent=None):super().__init__(parent)self.setWindowTitle("MainWindow")def paintEvent(self, event):painter = QPainter(self)pixmap = QPixmap("background.png")painter.drawPixmap(self.rect(), pixmap)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec_())

pyqt5——设置窗口背景相关推荐

  1. win10设置窗口背景

    win10设置窗口背景 https://jingyan.baidu.com/article/cbcede071d629d02f40b4de2.html

  2. Windows 7个性化配置,关闭Win7动画效果,设置窗口背景为“ 豆绿色”,移动“我的文档”...

    减少眼睛疲劳配色(豆绿色): RGB:199, 237, 204,颜色名称:#C7EDCC 1.任务栏设置 2.关闭Win7动画效果 控制面板 -> 轻松访问 -> 优化视频显示 3.视觉 ...

  3. 【QT小记】设置窗口背景透明

    // 窗口无边框 setWindowFlags(this->windowFlags() | Qt::FramelessWindowHint); // 设置窗口背景透明 (需要设置窗口为无边框的才 ...

  4. Qt之QWidget设置窗口背景图片的几种方法

    Qt之QWidget设置窗口背景图片的几种方法 几种方法如下: 1.使用调色板QPalette来设置图片 QPalette pal =this->palette(); pal.setBrush( ...

  5. PyQt5设置窗口和应用程序图标及设置控件提示信息

    PyQt5设置窗口和应用程序图标及设置控件提示信息 设置窗口和应用程序图标 设置控件提示信息 设置窗口和应用程序图标 使用到的库from PyQt5.QtGui import QIcon 使用到的方法 ...

  6. Qt 设置窗口背景图片的几种方法

    1.在paintEvent事件中绘制图片 void Widget::paintEvent(QPaintEvent * ev) {QPainter painter(this);painter.drawP ...

  7. Qt 设置窗口背景图片的几种方法实例

    1.在paintEvent事件中绘制图片 void Widget::paintEvent(QPaintEvent * ev) {QPainter painter(this);painter.drawP ...

  8. matlab窗口默认背景色,matlab设置窗口背景颜色 怎样设置Matlab窗口背景的颜色?...

    怎样设置Matlab窗口背景的颜色? h = figure(1)set( h, "Color", [ 1 0 0 ] )背景就是红色了 如何改变MATLAB中figure窗口的背景 ...

  9. qt设置顶层窗口_QWidget设置窗口背景图片的几种方法

    软件的界面为了更直观或美观,常常需要通过图片来表达.我们知道Qt中所有界面类的祖先是QWidget,因此学会给QWidget设置图片是必须掌握的技能之一.但是编程是没有标准答案的,达到同一效果可以有许 ...

最新文章

  1. 堆叠式传感器架构带来先进的视觉功能
  2. Spring学习3之IOC创建对象的方式
  3. [win7] 去除将窗口拖到屏幕边缘时“自动最大化”
  4. MySQL 学习二:高手必备!MySQL 增删改查高级命令大全硬核总结!
  5. 映美精相机(the imaging source)在树莓派(Raspberry Pi )中的使用(一)
  6. NDK学习笔记-NDK开发流程
  7. 如何免费编辑PDF文档?
  8. 面试如何解释上份工作时间短
  9. 批量生成奖状的简单程序
  10. Linux系统mysql 查看当前使用的配置文件my.cnf的方法
  11. 等保-机房项目验收方法
  12. Android 2个Service实现相互保活,通过bindservice来实现,不通过广播实现
  13. 调整DOSBox的窗口大小:跨过三连坑
  14. 电子元器件失效模式及失效机理汇总
  15. java能做什么(java能做什么项目)
  16. 计算机应用基础第四版答案周南岳,计算机应用基础第周南岳win+office期末复习及答案.docx...
  17. 以太坊 权益证明(五)
  18. String.valueOf()方法的使用
  19. 江苏省计算机二级vb知识点,2020年全国计算机二级VB复习知识点:数据类型
  20. iOS—第二周任务3GShare

热门文章

  1. LeetCode-Python-52. N皇后 II
  2. 梦回吴哥—给神灵最奢华的供奉 吴哥窟
  3. 实施CRM前的五个要领
  4. Dota2国际冠军赛如火如荼,可以邀请朋友一同观看VR直播
  5. ShareSDK使用方法
  6. 【BIM+GIS】ArcGIS Pro中对Revit的Rvt数据进行地理配准操作
  7. Flappy Bird项目代码
  8. Electron系统托盘
  9. 原创 | 传统医药零售如何实现数字化转型
  10. HTML分组标签fieldset