QTabWidget 美化 qss

news2024/11/24 6:29:01

1. tab, tab-bar, pane属性分布

2. 使用qss美化时,tab标签上和pane中都能美化成功,但tab最右侧的tab-bar却始终没有成功

/*设置控件的背景*/
QTabWidget
{
    background-color:rgb(4,138,224);
}
/*设置控件下面板的背景颜色*/
QTabWidget::pane
{
    background-color: rgb(4,138,224);
    /*border:none;*/

}
/*设置控件下选择页的颜色*/
QTabBar::tab
{
background-color: rgb(4,138,224);
color:#FFFFFF;/*标签页上字体的颜色,每个属性必须有;隔开,否则属性设置无效*/
     font: bold 20pt ;
     min-width: 160px;
     min-height: 48px;
     padding: 2px;
     border-bottom-color: #FF0000; /* same as the pane color */
     border-top-left-radius: 14px;
     border-top-right-radius: 14px;
}

/*右侧空白部分*/
QTabWidget::tab-bar{
background-color:rgb(4,138,224);
}

/*设置控件下选择页被选中的颜色和边框*/
QTabBar::tab:selected
{
    background-color: rgb(255,255,255);
    color:rgb(4,138,224);/*选中时标签页上字体的颜色*/
    /*border-left:2px solid #E5E5E5;
    border-top: 2px solid #E5E5E5;
    border-right: 2px solid #E5E5E5;
    border-bottom: 2px solid #E5E5E5;*/
    font: bold 22pt;
}

 最后发现:

如果小部件继承自Qwidget类,一些stylesheet是无法直接控制的。需要重写paintEvent函数,把样式表选项绑定到小部件上。为了不那么麻烦,在调用setstylesheet之前, 小部件调用Qt::WidgetAttribute即可。

m_pWidget->setAttribute(Qt::WA_StyledBackground);

    m_pWidget->setAttribute(Qt::WA_StyledBackground, true);
    QFile file(":/res/tabwidget.qss");
    bool bret = file.open(QFile::ReadOnly);
    QString styleSheet = tr(file.readAll());
    this->setStyleSheet(styleSheet);
    file.close();
 

QTabWidget的tabbar右侧背景色设置:QTabWidget背景色设置无效_开软古剑楠的博客-CSDN博客_qtabwidget tabbar背景色https://blog.csdn.net/weixin_40583088/article/details/112291570

3.qss注释

/**/

4.给控件贴图

QPushButton#exitsystem_btn {
min-width: 250px;
background-image: url(:/res/image/close_white.png);
}

注意: background-image 中url中索引地址为拷贝的 path地址, 不是URL。

如果拷贝成URL地址的话,控件不会显示贴图。

5. 控件贴图 有多个小图标

使用qss 给QPushbutton进行贴图时,由于图片过小,控件尺寸大,控件上会有多个重复图标。

 通过background-repeat和background-position属性对重复性和位置进行设置。

background-repeat、background-position
通过设置这两个属性,可以将背景图设置成一个合适的位置:
background-repeat: 这个属性是设置如何重复背景图像

名称    效果
repeat    默认。背景图像将在垂直方向和水平方向重复。
repeat-x    背景图像将在水平方向重复。
repeat-y    背景图像将在垂直方向重复。
no-repeat    背景图像将仅显示一次。
background-position:这个属性是设置背景图片的位置

名称    效果
bottom    底部
top    上方
left    左
right    右
center    中间
这个属性可以进行组合,也就是说你可以组成9个位置:

qss代码如下:

QPushButton#exitsystem_btn {
background-image: url(:/res/image/close_white.png);
background-repeat: no-repeat;
background-position: center;
}

对应的图片是符合要求的

Qt Qss 设置QPushButton图标和背景_师从名剑山的博客-CSDN博客_qt qpushbutton背景https://blog.csdn.net/qq_44723937/article/details/124784359

6. 多个控件设置同一个属性

QToolButton#minBtn:pressed,QToolButton#maxBtn:pressed,QToolButton#restoreBtn:pressed{
        background: rgb(0, 122, 204);
}

只能如上设置,如下设置是不对的

QToolButton#minBtn,#maxBtn,#restoreBtn{
        background: rgb(0, 122, 204);
}

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

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

相关文章

C++11 常用的新特性

本篇介绍C11标准对比之前C标准的新特性,C11为C语言在2011年发布的版本,它改进幅度很大,影响至今。如加入auto 关键字、nullptr、移动语义(move semantics)、委托构造函数(delegating constructors&#xff…

ChatGPT超详细注册与使用教程

文章目录前言一、ChatGPT账号注册二、SMS-ACTIVATE虚拟手机号验证三、ChatGPT使用总结前言 最近ChatGPT非常火爆,是一种革命性的技术,这也吸引来了很多人想尝试一下,但是由于并没有在国内开通这项服务,所以国内的用户无法使用Chat…

Javascript预解析

1.我们js引擎运行js 分为两步,1.预解析,2.执行代码 (1)预解析:js引擎会把js里面所有的var还有function提升到当前作用域发的前面 (2)执行代码:按照代码书写的顺序从上往下执行 2.预…

RK3588平台开发系列讲解(进程篇)进程的处理器亲和性

平台内核版本安卓版本RK3588Linux 5.10Android 12文章目录 一、简介二、相关结构体三、函数接口四、cpuset的使用沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇介绍进程的处理器亲和性相关知识。 一、简介 Linux进程调度器为了充分利用CPU资源,会将进程在不同的…

如何养成整洁的代码习惯

如何养成整洁的代码习惯前言1.为什么要保持代码整洁?1.1 所以从一开始就要保持整洁1.2 如何写出整洁的代码?2.命名2.1 不好的命名方式1.没有任何意义的命名方式2.命名前后不一致3.命名冗余3.类3.1单一职责3.2 开闭原则3.3 内聚4.函数4.1 只做一件事4.2 函数命名1.函数名应见名…

春季开学必备物品清单、数码好物推荐篇

开学的脚步近了,近了,大学生返校,万物更新,大家迎接开学季的阵仗堪比迎接春天了。灵魂发问:开学装备备齐了吗?大学生们的情绪调整好了吗?自己要不要再回回炉,充充电?这次…

【redis6】第十二章(持久化)

RDB RDB是什么 在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的SNAPSHOT快照,它恢复时是将快照文件直接读到内存里 备份是如何执行的 Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写…

ARM学习(17)ARM函数调用规则

笔者来聊聊ARM的函数的调用规则 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持&…

观点动力学模型:主要理论与模型综述

文章目录意见动态建模图论DeGroot 模型Friedkin-Johnsen models社会权力演变自我评价反映的演变DeGroot-Friedkin模型(DeGroot)的新研究最终社会权力的分析动态相对互动拓扑相似时间尺度,记忆和噪声表达观点(expressed opinion)和私人观点(private opinion)EPO模型意…

学完python再学Java顺利吗,学完python再学Java要多久

这篇文章主要介绍了学完python再学C会不会轻松一点,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 1、学编程先学python,然后学java可以吗? 建议先学J…

solidity Dapp 从签名中提取消息签名地址

通常, ECDSA(椭圆曲线数字签名算法)包含两个参数, r 和 s. 在以太坊中签名包含第三个参数 v,它可以用于验证哪一个账号的私钥签署了这个消息。 Solidity 提供了一个内建函数 ecrecover 它接受 r, s and v 作为参数并且返回签名这的地址。我们如何进行测试…

Windows使用WinSW实现开机自启动服务

在windwos系统中,有时候需要java的jar开机自启动,或者nginx的开机自启动,或者内网穿透工具(frp)的开机自启动,使用WinSW是一种很好的选择,记录一下使用WinSW实现的方式WinSW开源和下载地址(最新版WinSW v2.…

从0开始学python -14

Python3 字符串 -1 字符串是 Python 中最常用的数据类型。我们可以使用引号( ’ 或 " )来创建字符串。 创建字符串很简单,只要为变量分配一个值即可。例如: var1 Hello World! var2 "Runoob"Python 访问字符串中的值 Python 不支持…

Springboot2.x+Websocket+js实现实时在线文本协同编辑,并展示协同用户

文章目录诉求相关技术思路展开相关步骤pom配置服务端相关配置文本信息、用户广播处理逻辑前端功能代码功能测试小结诉求 实现页面实时在线文本协同编辑,且显示当前同时编辑文本的用户。 相关技术 Springboot(2.7.0)Websocketjavascript 思路展开 页面展示当前登陆用户页面有…

NANK南卡护眼台灯Pro新品测评:旗舰级护眼,降低80%近视风险!

对于重度熬夜患者来说,对于家居用品是非常偏爱的,而最主要的就是光源问题,护眼台灯的发展迅速,不再局限于简单照明,在写作和办公、绘画的场景都适用,经常在电脑桌上的我,就看到了这款旗舰级专业…

9个 Intellij IDEA中使用Debug调试详解

有人说:一个人从1岁活到80岁很平凡,但如果从80岁倒着活,那么一半以上的人都可能不凡。 生活没有捷径,我们踩过的坑都成为了生活的经验,这些经验越早知道,你要走的弯路就会越少。 Debug用来追踪代码的运行流…

java数据输入

数据输入1.1数据输入概述1.2 Scanner使用的基本步骤导包创建对象接收数据

Windows内核--任务、进程和线程(2.4)

图片来自: Windows内核原理与实现 Windows内核有"任务"概念吗? 从技术术语来说,Windows内核并没有"任务"。"任务"一般被认为是抽象的需要执行的事情。在不同操作系统上,"任务"所代表的官方名称有所差异。 Linu…

树形表查询

树形表: 情况一:固定层级的树形表: 可以使用表的自连接查询,比如查询两级分类课程 selectone.id one_id,one.name one_name,one.parentid one_parentid,one.orderby one_orderby,one.label one_label,two.id two_id,two.name two_name,two.parentid two_parentid,two.orderby …

系统公告 | MemFire Cloud应用管理全新升级,实时数据库等你来体验~

“超能力”数据库~拿来即用,应用开发人员再也不用为撰写API而发愁。MemFire Cloud 为开发者提供了简单易用的云数据库(表编辑器、自动生成API、SQL编辑器、备份恢复、托管运维),很大地降低开发者的使用门槛。 MemFire …