setStyleSheet来设置图形界面的外观

2023-11-15

使用setStyleSheet来设置图形界面的外观:
QT Style Sheets是一个很有利的工具,允许定制窗口的外观,此外还可以用子类QStyle来完成,他的语法很大比重来源于html的CSS,但是适用于窗口。
概括:
Style Sheets是文字性的设定,对于整个应用程序可以使用

QApplication::setStyleSheet() 或者对应一个窗口可以使用QWidget::setStyleSheet(),如果好几个样式表在不同的层次上设定,QT将会集合所有的样式表来设定外观,这称作级串联
例如:下面的样式表指定所有的QLineEdit应该用黄色作为他们的背景颜色,所有的核对框应该用红色作为他们的文本颜色
QLineEdit { background: yellow }
QCheckBox { color: red }
对于这种定制,样式表比palette调色板更强大,例如使用QPalette::Button role来设定一个按钮为红色可能引起危险。
对于单独使用QPalette很难完成的定制,样式表可以指定样式表作用于当前窗口样式顶部,这意味这应用程序讲看起来尽可能的自然,但是任何样式表系统参数应该考虑,不像QPalette那样,样式表提供检查,如果你设定了一个按钮的背景颜色为红色,你应该确定在所有的平台按钮将会有一个红色的背景,除此,Qt Designer提供样式

表集成环境,使得在不同的窗口样式中更容易看到样式表的效果。
此外,样式表可以用来为你的应用程序提供一个出众的外观,不需要使用子类QStyle,例如,可以指定任意的图片为单选按钮和核对按钮,来使它们出众,使用这个技术,也可以获得辅助的定制,这将使用几个子类,例如指定style hint(样式暗示),可以参看例子 Style Sheet。
当样式表有效时候,使用QWidget::style()可以返回QStyle,
样式表语法:
样式表语法基本和HTML CSS语法一致。
样式表包含了样式规则序列,样式规则有一个<selector>和<declaration>组成,<selector>指定哪些窗口将会被这些规则影响,<declaration>指定哪些属性将会被设定在窗口上,例如
QPushButton{color:red}在上面的,规则中,QPushButton是<selector>,{color:red}是<declaration>,这个规则指定QPushButton和他的子类将使用红色作为前景颜色,就是字体颜色,并且对大小写没有分别,对于color,ColoR,COLOR是一样的。几个<selector>可以同时被列出,使用逗号","来分开各个<selector>,例如:
QPushButton, QLineEdit, QComboBox { color: red }
<declaration>部分是一对 属性:值  对,用{}来括起来,使用分号来分开各个属性,

例如
QPushButton { color: red; background-color: white }
可以参看Qt Style Sheets Reference来查看部件以及样式表的属性列表

关于样式表的级联属性看下面代码的不同
 btn1->setStyleSheet("QPushButton{color:red}"); //设定前景颜色,就是字体颜色
 btn1->setStyleSheet("QPushButton{background:yellow}"); //设定背景颜色为红色和
btn1->setStyleSheet("QPushButton{color:red;background:yellow}");
第一个代码只能显示黄色背景,第二个确实红色字体,黄色背景,
所以当设定一个部件时候,要在同一个>setStyleSheet()中完全写出来。

 

 

 

其他的样式介绍如下:


font: bold; 是否粗体显示

font-family:""; 来设定字体所属家族,

font-size:20px; 来设定字体大小

font-style: nomal; 来设定字体样式

font-weight:20px; 来设定字体深浅

color:black ;字体颜色

 

border: 1px solid gray;边框大小,样式,颜色
border-image:""; 用来设定边框的背景图片。
border-radius:5px; 用来设定边框的弧度。可以设定圆角的按钮
border-width: 1px; 边框大小

 

 background-color: green; 设置背景颜色
background:transparent; 设置背景为透明
color:rgb(241, 70, 62); 设置前景颜色
selection-color:rgb(241, 70, 62); 用来设定选中时候的颜色


可以使用border-top,border-right,border-bottom,border-left分别设定按钮的上下左右边框,
同样有border-left-color, border-left-style, border-left-width.等分别来设定他们的颜色,样式和宽度

 

 

 

关于使用样式表 setStyleSheet()) 来设定窗口样式的时候因该注意的事项,可以参看
http://blog.csdn.net/xie376450483/archive/2010/08/17/5818759.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setStyleSheet来设置图形界面的外观 的相关文章

  • 关于 torch 的 device id 与真实 GPU id 的关系

    需要知道的几个点 cuda id 中的 id 并不一定是真实硬件的GPU id 而是运行时可用的 GPU id 从0开始计数 torch cuda device count 可查看运行时可用的 GPU 数量 torch cuda get d
  • 空参构造方法和有参构造方法的使用

    脑筋不动 看视频就会打瞌睡 把代码敲出来才会发现问题 重新回顾了构造方法 空参和有参构造都能够调用show getxx show方法只是为了显示属性值 getxxx 获取属性值 可以打印 可以赋值给其他变量 声明一个手机类 package
  • HTTP 协议

    目录 编辑一 HTTP 协议是什么 二 抓包工具的使用 三 HTTP 请求 1 认识 URL 2 认识方法 3 认识请求 报头 HOST Content Length 和 Content Type 编辑 User Agent Referer
  • ipython import pandas出错

    其实这个错误是早上就发现了的 但是由于代码上运行没得问题 我就纳闷了 但是可以运行代码就无伤大雅 下午事情差不多了 想起这个问题 就来debug一下 为了让错误更加清晰的呈现出来 我又要费大家电了 lt 哈哈 gt 下面就是报的完整错误 I
  • python 运行时出现fixture xxx not found

    一 问题 在pycharm中运行带有pytest包的代码会出现如下错误 E fixture a not found gt available fixtures cache capfd capfdbinary caplog capsys ca
  • Obsidian 常用插件记录+typora 转移过来问题记录

    Typora 转 Obsidian 一些常用插件记录 插件目录 一 插件 1 obsidian custom attachment location 2 obsidian editing toolbar 3 待续 二 问题 1 图片展示问题
  • 比较器

    Comparator比较器 Collcetion工具集中的sort public static
  • cc2530:<3>ADC采集光照度案例

    之前我们讲到了串口的收发数据 我们使用到了数据结构的环形对列 就是一个追赶模型 前面一个人在放数据 后面一个人在捡数据 定义两个变量来存储这两个人所走的步数 在定义一个库存变量 也就是用来表示前面一个人放数据的量减去后面一个人捡数据的量 我
  • 8086汇编指令查询小工具,JavaScript编写,浏览器直接运行

    程序界面 汇编语言还是在大学的时候学的 汇编语言有个特点是语句短 条数多 很难可以把全部指令都背熟 当时就想编写一个软件可以随时查阅汇编语言的各类指令 而且软件不需要编译可以随时更新 可惜当时用javascript语言写只写了一半 现在终于
  • JS逆向解析案例-巨潮证券市场数据库(python)

    目标网址 http webapi cninfo com cn marketDataZhishu 这篇文章是用来对该网站进行js解析用的 解析完后爬取数据操作可看这篇文章 Scrapy实战案例 将股票数据存入SQL数据库 解析重点 目标网址在

随机推荐

  • VS2017 Nuget找不到包的问题处理

    重新安装系统之后 发现新安装的VS2017在用Nuget搜索SDK时 一直提示找不到包 如下图 解决方法 1 点击右侧的设置按钮 2 弹出窗中左侧树形结构选择 程序包源 再点击右上方的添加按钮 输入以下信息 https api nuget
  • STM32H7串口IAP实现

    1 概述 通过IAP原理一文我们大概知道了IAP的工作原理和工作流程 但是现在要通过串口来将这个功能实现 我们应该怎么做呢 总体上整个代码可以分为4个部分 串口功能初始化 串口不定长数据接收 Flash写入以及IAP跳转 接下来我将一一解释
  • 图解通信原理与案例分析-22:4G LTE-A如何把速率提升到1G--多载波聚合技术与授权频谱辅助接入LAA

    TBD
  • druid监控的使用

    新建springboot项目 pom xml
  • RK3568平台开发系列:HX711调试 Android

    RK3568平台开发系列 HX711调试 Android 在本文中 我们将重点讲解如何在RK3568平台上调试HX711传感器 并将其与Android应用程序集成 我们将详细介绍HX711的工作原理 并提供相应的源代码示例 HX711是一款
  • C语言力扣第50题之Pow(x,n),求x的n次幂。递归算法

    50 Pow x n 实现 pow x n 即计算 x 的整数 n 次幂函数 即 xn 示例 1 输入 x 2 00000 n 10 输出 1024 00000 示例 2 输入 x 2 10000 n 3 输出 9 26100 示例 3 输
  • 【动态规划】最长公共子序列和最长公共子串(python)

    编写用时 2020年3月12日12 02 28 1h 动态规划经典例题 最长公共子序列和最长公共子串 python 很久之前大概是高中的时候写过这种题目 使用动态规划的方法求解的 现读研究生了 要把过去的拾起来的呢 1 最长公共子序列 LC
  • 机器学习之卷积操作

    很多好主意一旦踏上语义鸿沟 就再也听不到 卷积 在图像 视觉领域乃老生常谈的内容 但是对于具体工作细节仍然值得我去学习 卷积原理 卷积 就是利用一个小的矩阵 或者更高维向量 作用于图像矩阵 或者特征矩阵 然后输出特定且有意义的值 具体来讲
  • el-table滚动到指定行并触发鼠标移入效果

    获取相应的列表数据 指定需要滚动到的行 scrollToTopAndHover tableElement any rowIndex any 获取表格 const theTableRows tableElement bodyWrapper q
  • 微服务知识点

    容器化部署 当我们使用了微服务架构后 我们将一个原本完整的系统 按照业务逻辑拆分成一个个可独立运行的子系统 为了降低系统间的耦合度 我们希望这些子系统能够运行在独立的环境中 这些环境之间能够相互隔离 在Docker出现之前 若使用虚拟机来实
  • 一款很好用的国产静态源代码扫描工具-DMSCA

    端玛企业级静态源代码扫描分析服务平台 英文简称 DMSCA 是一个独特的源代码安全漏洞 质量缺陷和逻辑缺陷扫描分析服务平台 该平台可用于识别 跟踪和修复在源代码中的技术和逻辑上的缺陷 让软件开发团队及测试团队快速 准确定位源代码中的安全漏洞
  • 蛤蟆吃服务器显示无网络,hamachi创建网络时服务器报告了一个错误.doc

    hamachi创建网络时服务器报告了一个错误 hamachi创建网络时服务器报告了一个错误 蛤蟆吃无法连接到服务器怎么办 蛤蟆吃无法连接到服务器 如果出现这样的情况 先打开运行 后输入 services msc 后点击确定跳出 右键logM
  • 《C++ Primer Plus》学习随记3---引用变量

    int rats int rodents rats rodents就是一个引用变量 他是rats的别名 指向相同的值和内存单元 int 是类型名 引用变量必须在声明时将其初始化 引用变量一旦与某个变量关联起来 就将一直效忠于它 也就是没法再
  • ElasticSearch(一)

    分布式搜索引擎01 1 初识elasticsearch 1 1 了解ES 想象下 假设 JD上有上千万商品 现在要求你 说出 包含 手机 的商品有哪些 并说出商品ID 商品图片地址 商品价格 商品的名称 也就是说实现JD的搜索的功能你怎么办
  • Linux(3)拷贝文件到远程服务器上

    链接地址 https blog csdn net wudinaniya article details 81141530
  • 深聊性能测试,从入门到放弃之: Windows系统性能监控(三)任务管理器介绍及使用。

    任务管理器 1 引言 2 任务管理器 2 1 打开方式 2 2 介绍 2 2 1 定义 2 2 2 进程 2 2 3 性能 2 2 4 应用历史记录 2 2 5 启动 2 2 6 用户 2 2 7 详细信息 2 2 8 服务 3 总结 1
  • 从 Java 到 Go:实现实时数据更新和消息推送服务

    目录 1 Java 和 Go 的对比 1 1 语言特性 1 2 性能 2 项目概述 3 准备工作 4 代码实现
  • Activity 跳转到Fragment中(MainActivity中的Fragment)

    Activity 跳转到Fragment中 备注 MainActivity中的Fragment 如果大家有遇到这个问题 说明你来对了 楼主我可是踩了无数的坑 花了几天的时间才把这篇文章写下 现在App的模式一般都是Activity中多Fra
  • Redis底层设计

    Redis底层设计 底层设计 Redis的每种对象其实都由对象结构 redisObject 与 对应编码的数据结构组合而成 而每种对象类型对应若干编码方式 不同的编码方式所对应的底层数据结构是不同的 对象设计机制 对象结构 redisObj
  • setStyleSheet来设置图形界面的外观

    使用setStyleSheet来设置图形界面的外观 QT Style Sheets是一个很有利的工具 允许定制窗口的外观 此外还可以用子类QStyle来完成 他的语法很大比重来源于html的CSS 但是适用于窗口 概括 Style Shee