PyQt5 设置窗口背景

news2024/11/28 16:48:29

PyQt5 设置窗口背景

  • 使用setStyleSheet设置窗口背景图片
  • 使用setStyleSheet设置窗口背景颜色
  • 使用QPalette设置窗口背景颜色
  • 使用QPalette设置窗口背景图片
  • 使用paintEvent设置窗口背景颜色
  • 使用paintEvent设置窗口背景图片

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

  • 使用QSS设置窗口背景。
  • 使用QPalette设置窗口背景。
  • 实现paintEvent,使用QPainter绘制背景。

使用setStyleSheet设置窗口背景图片

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()
    win.setWindowTitle("界面背景图片设置")
    win.resize(350, 250)
    win.setObjectName("MainWindow")
    win.setStyleSheet("#MainWindow{border-image:url(./pyqt5/python.jpg)}")
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

使用setStyleSheet设置窗口背景颜色



import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *


if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()
    win.setWindowTitle("界面背景图片设置")
    win.resize(350, 250)
    win.setObjectName("MainWindow")
    win.setStyleSheet("#MainWindow{background-color:yellow}")
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

使用QPalette设置窗口背景颜色

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()
    win.setWindowTitle("QPalette调色板设置背景颜色")
    win.resize(350, 150)
    palette = QPalette()
    palette.setColor(QPalette.Background, Qt.red)
    win.setPalette(palette)
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

使用QPalette设置窗口背景图片

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *




if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = QMainWindow()
    win.setWindowTitle("QPalette设置背景图片")
    palette = QPalette()
    palette.setBrush(QPalette.Background, QBrush(QPixmap("./pyqt5/python.jpg")))
    win.setPalette(palette)
    win.resize(800, 600)
    win.show()
    sys.exit(app.exec_())


在这里插入图片描述

使用paintEvent设置窗口背景颜色

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class WinForm(QWidget):
    def __init__(self, parent=None):
        super(WinForm, self).__init__(parent)
        self.setWindowTitle("paintEvent设置背景色")

    def paintEvent(self, event):
        painter = QPainter(self)
        painter.setBrush(Qt.blue)
        painter.drawRect(self.rect())

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = WinForm()
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

使用paintEvent设置窗口背景图片

import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *

class WinForm(QWidget):
    def __init__(self, parent=None):
        super(WinForm, self).__init__(parent)
        self.setWindowTitle("paintEvent设置背景图片")

    def paintEvent(self, event):
        painter = QPainter(self)
        pixmap = QPixmap("./pyqt5/images/screen1.jpg")
        painter.drawPixmap(self.rect(), pixmap)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    win = WinForm()
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨境电商必知的交叉销售和追加销售:2022终极指南

关键词:跨境电商、交叉销售、追加销售 跨境电商可以从客户那里获得的潜在收入不会在销售点结束。 交叉销售和追加销售通过吸引客户增加支出来增加您的收入。这是一个双赢的局面,消费者获得了卓越的体验,而你赚到了更多的钱。 但是&#xff0c…

【Pandas数据处理100例】(九十七):Pandas中的eval()函数使用方法

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

axure到底好不好学,有哪些技巧

Axure学习难吗?这个问题一直引起很多朋友的讨论,有的觉得难,有的觉得不难。当然,人不一样,每个人的学习方式也不一样,对学习难度的理解自然也不一样,这个问题自然没有定论。 ​在学习的时候&…

数据库------E-R图和关系模型

1、请输出下面E-R图,并转换成关系模型 有实体 A B C A属性有a1(主键),a2,a3 B属性有b1(主键),b2,b3 C属性有c1(主键),c2,c3 A和B之间有X关系,B和C之间有Y关系,A和C之间有Z关系 一个A对应多个B,一个B对应多个A 一个A对应一个C,一个C对应一个A 一个B对应一个C,一个C对应多…

Js逆向教程19-websocket介绍

Js逆向教程19-websocket介绍 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 一、websocket介绍 Ws和Wss的区别相当于http和https的区别, 如果你想写一个聊天页面&#x…

Android Studio实现课程表应用,美观又实用(Kotlin版本)

项目目录一、应用概述二、主要技术三、开发环境四、主要功能1、设置课程表2、导入导出3、上下课提醒五、运行演示一、应用概述 本次课程表应用功能非常丰富,而且非常实用,可以添加学期的课程信息,设置展示的课程页面,设置上下课时…

李沐《动手学深度学习》第二版 pytorch笔记1 环境搭建

李沐《动手学深度学习》第二版pytorch笔记1 搭建环境 文章目录李沐《动手学深度学习》第二版pytorch笔记1 搭建环境此时尚有耐心虚拟环境搭建创建虚拟环境查看已有的虚拟环境激活虚拟环境安装深度学习框架和d2l软件包安装d2l安装pytorch连接到虚拟环境测试一下再试试...好难搞下…

[附源码]Python计算机毕业设计Django的剧本杀管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

《Mission Red in Slience》——这本“连环画”值得一看

生命离不开血液。 血液对人的意义是不言而喻的,当失血到总量的30%时,人就会有生命危险。这也就意味着献血有时是看似渺小,实际拯救生命的壮举。同时适度的献血对献血人也有助的。 但很多人对献血缺乏认识,认为其可能具有危险性&…

[附源码]Python计算机毕业设计SSM乐跑(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

3.每天进步一点点-Python爬虫需要了解HTTP 请求报文

14天学习训练营导师课程: 杨鑫《Python 自学编程基础》 杨鑫《 Python 网络爬虫基础》 杨鑫《 Scrapy 爬虫框架实战和项目管理》 文章目录1.HTTP 请求报文1.1 请求行1.2 请求头1.3 空行1.4 请求正文1.HTTP 请求报文 ​ HTTP(Hyper Text Transfer Protoc…

基于51单片机锂电池电压电量检测(原理图+PCB+程序)

资料编号:198 下面是该资料仿真演示视频: 198-基于51单片机锂电池电压电量检测(原理图PCB程序全套资料)功能介绍: 采用51系列自带AD的单片机stc12c5a60s2型号单片机(也是51单片机,外观引脚大小…

20uec++多人游戏【小球与玩家互动】

为小球添加生命值组件和伤害处理函数 //生命值组件UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "Components")class USHealthComponent * HealthComp;//伤害处理函数UFUNCTION()void HandleTakeAnyDamage(USHealthComponent * OwnerHealthComp, float…

【蓝桥杯十四届第二期模拟赛】第四题——递归求解(python)(耗时仅不到1s出答案)(lru_cache)

前言 这次的第二期蓝桥杯模拟赛为登录官网考试,并没有使用我们那个机房的破电脑,你都让我使用我自己的电脑了,那我不得皮一下【doge】 第四题是填空题,虽然我报名的是c语言赛道,但是还是默默打开了我的pycharm&#…

Bandizip去除广告,注册图标,状态栏文本

Bandizip7.0版本之后,免费版就加入了广告。 安装完成后,Bandizip界面如下,很遗憾,我的没有出现广告,没法展示。 目标:去除界面左上角的注册图标,以及下方底部的状态栏“固实压缩”字样那里&am…

安全多方学习开源框架调研

原创 复旦DSG研究组 开放隐私计算 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”…

ROS + vscode环境搭建

问题描述 使用ROS vscode进行开发. 解决方案 1. 安装ROS和vscode. 2. 打开vscode, 安装ROS插件. 3. 创建工作空间, 并进行一次catkin_make. mkdir -p catkin_ws/src cd catkin_ws/ catkin_make 4. 用vscode打开工作空间. cd catkin_ws/ code . vscode的ROS插件会自动配…

计算机网络笔记4 网络层

文章目录笔记前言一、网络层概述二、网络层数据交换方式2.1 电路交换2.2 报文交换2.3 分组交换三、网络层协议及报文格式3.10 IP数据报格式3.1 IPv4协议分类编址划分子网无分类编址CIDR3.20 IPv6数据报格式3.2 IPv6协议IPv6地址类型IPv4和IPv6之间的过渡3.3 ARP协议(地址解析协…

Go-Excelize API源码阅读(三十八)——SetCellValue

Go-Excelize API源码阅读(三十八)——SetCellValue 开源摘星计划(WeOpen Star) 是由腾源会 2022 年推出的全新项目,旨在为开源人提供成长激励,为开源项目提供成长支持,助力开发者更好地了解开源…

Java基础:方法

1. 回顾方法的定义和调用 前面的课程中,使用过嵌套循环输出矩形,控制台打印出矩形就可以了,因此将方法定义为 void ,没有返回值。 在主方法 main 中直接被调用。 public class Method { public static void main(String[] args…