PyQt5 QSS

一、

二、

三、课堂练习

1.课时122.QSS基础_哔哩哔哩_bilibili

import sys, os
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtPrintSupport import QPrinter,QPageSetupDialog,QPrintDialog
'''
QSS基础
Qss (Qt style sheets)
Qt样式表
用于设置控件的样式
类似于CSS
'''
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton{background-color:red}''''''QPushButton 表示对象名称{}  属性需要放置在一对大括号中'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())

2.课时123.使用QSS选择器设置控件样式_哔哩哔哩_bilibili

import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')bt2.setProperty('name','bt2')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')bt3.setProperty('name','bt3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton[name='bt2']{background-color:red;color:yellow;height:120;font-size:60px}QPushButton[name='bt3']{background-color:blue;color:yellow;height:60;font-size:30px}''''''QSS用法总结:1.QPushButton 表示对象名称2.{}  属性需要放置在一对大括号中3.background-color:red    其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.[name='bt2']    表示选择器,使用选择器可以设置特定的控件QSS样式,使用setProperty()方法设置控件的属性,比如:bt2.setProperty('name','bt2')5.字符串中可以放置多个对象,如变量style中放置了两个对象,QPushButton[name='bt2']和QPushButton[name='bt3']'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())

3.课时124.QSS子控件选择器_哔哩哔哩_bilibili

测试设置对象名称的代码:

import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('树容器')self.resize(200,200)self.setUI()def setUI(self):lay=QVBoxLayout()self.setLayout(lay)bt1=QPushButton(self)bt1.setText('按钮1')lay.addWidget(bt1)bt2=QPushButton(self)bt2.setText('按钮2')# bt2.setProperty('name','bt2')bt2.setObjectName('mybt')lay.addWidget(bt2)bt3=QPushButton(self)bt3.setText('按钮3')lay.addWidget(bt3)if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()# 选择器,用来选择容器中所有符合条件的控件style = '''QPushButton#mybt{background-color:red;color:yellow;height:120;font-size:60px}''''''QSS用法总结:1.QPushButton 表示对象名称2.{}  属性需要放置在一对大括号中3.background-color:red    其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.#mybt 表示对象名称,使用setObjectName()方法设置对象的名称,感觉作用类似过滤器'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())

课堂练习代码:

import sys, os
from PyQt5.QtWidgets import *
class myWin(QWidget):def __init__(self):super(myWin, self).__init__()self.setWindowTitle('QSS子控件选择器')self.setUI()def setUI(self):combox=QComboBox(self)combox.setObjectName('myComBox')combox.addItems(['windows','Linux','Mac Os X'])combox.move(50,50)self.setGeometry(250,200,320,150)
if __name__ == '__main__':app = QApplication(sys.argv)window = myWin()style = '''QComboBox#myComBox::drop-down{image:url(./LoadImage/水滴.png)}''''''QSS用法总结:1.QPushButton 表示对象名称2.{}  属性需要放置在一对大括号中3.background-color:red    其中background-color表示属性名称,red表示属性值,多个属性之间用分号隔开4.#myComBox 表示对象名称,使用setObjectName()方法设置对象的名称,感觉作用类似过滤器5.::drop-down   双冒号后面的drop-down表示子控件名称'''window.setStyleSheet(style) # 在容器中设置,可以设置所有的按钮样式window.show()sys.exit(app.exec())

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

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

相关文章

【Mac】植物大战僵尸杂交版 for Mac(经典策略塔防游戏)游戏介绍

游戏介绍 植物大战僵尸杂交版 for Mac是一款非常受欢迎的策略塔防游戏,植物大战僵尸游戏以其独特的主题、幽默的风格和富有挑战性的关卡设计而著称。玩家需要种植各种植物来防御入侵的僵尸,每种植物都有其特定的功能和攻击方式。植物大战僵尸杂交版&…

Android 上下滑隐藏显示状态栏

一、DisplayPolicy类中监听滑动事件,然后发送广播事件 Android12类路径: frameworks/base/services/core/java/com/android/server/wm/DisplayPolicy.javamSystemGestures new SystemGesturesPointerEventListener(mUiContext, mHandler,new SystemGest…

SQL注入(head、报错、盲注)

目录 【学习目标、重难点知识】 【学习目标】 【重难点知识】 1. 报错注入 1.1 那么什么是报错注入呢? 1.2 报错注入原理 extractvalue函数 updatexml函数 1.3 靶场解析 靶场练习 2. HEAD注入 2.1 相关全局变量 2.2 靶场解析 burp暴力破解 靶场练习 3…

PostgreSQL的pg_dump中 --inserts参数测试

PostgreSQL的pg_dump中 --inserts参数测试 1 准备测试数据 创建表yewu1.t1,并插入1000000条数据。 white# create table yewu1.t1 (id int,name varchar(20)); CREATE TABLE white# DO $$ white$# DECLARE aa INTEGER; white$# BEGIN white$# FOR aa IN 1..1…

java常见面试题汇总

🌏个人博客主页:意疏-CSDN博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 关注 收藏支持一下笔者吧~ 阅读指南: 开篇说明一、封装 继承 多态1.封装2.继承3.多态 二、什么是重载…

初始化列表 / 隐式转换 / 静态

目录 初始化列表隐式转换单参数的隐式类型转换多参数的隐式类型转换explicit关键字 static 初始化列表 大部分时候成员变量在对象实例化的时候调用构造函数就整体定义了,注意此时只有定义,不算初始化。而定义后的值的值是在构造函数里面给的。我们知道构…

Java并发编程(20)—— ConcurrentHashMap详解

ConcurrentHashMap是Java并发很重要的组件,也是大厂面试经常考察的对象,下面我就全面来详解ConcurrentHashMap 1. ConcurrentHashMap ConcurrentHashMap是Java集合框架中的一个线程安全的哈希表实现,它支持高效地并发访问和修改操作。 我们知道HashMap是线程不安全的,在多线…

DataWorks函数

文章目录 0、MaxCompute预置的函数分类1、日期函数2、数学函数3、算术运算符4、窗口函数5、聚合函数6、字符串函数7、复杂类型函数8、加密函数9、其他函数 0、MaxCompute预置的函数分类 函数类型说明日期函数支持处理DATE、DATETIME、TIMESTAMP等日期类型数据,实现…

oracle liunx 常用命令

前言 Oracle Linux 是一个企业级的 Linux 发行版,基于 Red Hat Enterprise Linux (RHEL)。在 Oracle Linux 上使用常用的 Linux 命令来管理系统和数据库是很普遍的。以下是一些常用的 Oracle Linux 命令和它们的功能说明: 1. 文件和目录管理 ls&#…

<数据集>无人机航拍不同高度牧羊识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:6065张 标注数量(xml文件个数):6065 标注数量(txt文件个数):6065 标注类别数:1 标注类别名称:[sheep] 序号类别名称图片数框数1sheep6065149785 使用标注工具&…

每日一题~abc 367 D+E(F 在上一篇)(区间和相关的计数问题前缀map,建图+倍增)

D题意: 环形的休息区,编号为 1-N,顺时针方向,从休息区i 到i1 需要的代价是 ai, 从休息区 s 顺时针走到休息区 t ( s!t )所需的最小步数是 M 的倍数。 找出可能的配对数 (s,t) 1.解决环形的问题:…

【51单片机】ds18b20驱动,11.0592MHZ,使用DS18b20

文章目录 ds18b20.h #include <reg52.h> #include <intrins.h> #include <math.h>// 管脚定义 sbit DS18B20_DATA_PIN = P1 ^ 0; // DS18B20数据口定义/******************************************************************************* * 函 数 名 …

Macos M1 IDEA本地调试 HBase 2.2.2

# 1. 前提 执行 mvn clean package assembly:single -DskipTests没问题&#xff0c;并在hbase-assembly/target目录下生成hbase-2.2.2-bin.tar.gz 文件夹 证明Maven 下载依赖没问题 1.1 报错 1 这里应该是报错找不到 com.google.protobuf:protoc:exe:osx-aarch_64:3.5.1 …

leetcode滑动窗口问题

想成功先发疯&#xff0c;不顾一切向前冲。 第一种 定长滑动窗口 . - 力扣&#xff08;LeetCode&#xff09;1456.定长子串中的元音的最大数目. - 力扣&#xff08;LeetCode&#xff09; No.1 定长滑窗套路 我总结成三步&#xff1a;入-更新-出。 1. 入&#xff1a;下标为…

docker inspect输出内容详解,推测容器运行命令

原始输出 [{"Id": "c2496d852ee3affd295a177e9f26f163a53da8d11e3708d6a479f189f707ad0b","Created": "2024-08-04T02:43:24.909341103Z","Path": "/startup.sh","Args": [],"State": {&quo…

lambda 表达式可以传递引用为什么需要引用捕获

当 lambda 表达式被传递或存储在其他地方时&#xff0c;通过引用捕获可以确保它始终访问正确的外部变量。—— 引用捕获可以精确地控制被捕获的引用变量的作用域。如果一个 lambda 表达式被存储在一个容器中&#xff0c;并且在不同的时间点被调用&#xff0c;引用捕获可以确保它…

入门STM32—外部中断

外部中断的存在使得微控制器能够及时响应外部事件&#xff0c;避免频繁的轮询操作&#xff0c;从而提高系统的实时性、效率和低功耗性能。 1.什么是外部中断&#xff1f; 外部中断是指微控制器接收到外部引脚的信号变化时触发的中断。STM32F103系列微控制器支持多个外部中断线…

鸿蒙(API 12 Beta3版)【DRM会话管理(C/C++)】数字版权保护开发

DRM会话管理&#xff08;MediaKeySession&#xff09;支持媒体密钥管理及媒体解密等&#xff0c;MediaKeySession实例由系统管理里的MediaKeySystem实例创建和销毁。 开发步骤 导入NDK接口&#xff0c;接口中提供了DRM相关的属性和方法&#xff0c;导入方法如下。 #include &…

学习嵌入式第二十九天

ipc进程间通信方式 PC&#xff0c;即进程间通信&#xff08;Inter-Process Communication&#xff09;&#xff0c;是操作系统中不同进程之间交换数据的一种机制。以下是一些常见的IPC方式&#xff1a; 管道&#xff1a;用于父子进程或兄弟进程之间的通信。消息队列&#xff…

selenium-java实现自动登录跳转页面

如果要一直刷新一个网页&#xff0c;总不能人工一直去点&#xff0c;所以想到大学时候学过selenium技术&#xff0c;写个脚本来一直刷新&#xff0c;因为经常写java语言&#xff0c;所以选用java语言来写 实验环境 注意&#xff0c;需要先准备好Google浏览器和Chrome-Driver驱…