Qt样式表及相关案例

news2024/9/21 11:11:25

一.Qt样式表介绍

Qt样式表是一个可以自定义部件外观的强大机制,样式表的概念、术语、语法均受到HTML的层叠样式表(Cascading Style Sheets,CSS)的启发。
样式表可通过QApplication::setStyleSheet()函数将其设置到整个应用程序上,也可以使用QWidget::setStyleSheet()将其设置到指定的部件或子部件上,不同级别均可设置样式表,称为样式表的层叠。样式表也可通过设计模式编辑样式表。

二.样式表语法

  1. 样式规则
    每个样式规则由选择器和声明组成。
    选择器:指定受该规则影响的部件。
    声明:指定这个部件上要设置的熟悉
    如:QPushButton{color:red}
    QPushButton是选择器;
    {color:red}是声明;
    color是属性;
    red是值。
    选择器{属性1:值1;属性2:值2;属性3:值3}
    此规则指定了QPushButton和它的子类使用红色作为前景色。样式表中一般不区分大小写,如color与coLOR表相同属性,但类名、对象名及Qt属性名区分大小写。
    声明中的多组“属性:值”列表以分号“;”隔开,如
    QPushButton{color:red;background-color:white}

  2. 选择器类型

在这里插入图片描述

三.案例介绍

1. 设置按钮样式表

// 创建一个按钮
    QPushButton *button = new QPushButton(this);
    button->setText("Click me");
    button->setGeometry(100,100,200,200);

    // 设置按钮的样式表
    button->setStyleSheet("QPushButton {"
                            "background-color: #FFA500;"
                            "border: 1px solid #FFA500;"
                            "color: white;"
                            "padding: 10px 20px;"
                            "text-align: center;"
                            "text-decoration: none;"
                            "display: inline-block;"
                            "font-size: 16px;"
                            "border-radius: 5px;"
                        "}"
                        "QPushButton:hover {"
                            "background-color: #FF8C00;"
                        "}"
                        "QPushButton:pressed {"
                            "background-color: #FF4500;"
                        "}");
  • 效果图
    -在这里插入图片描述

2.设置阴影效果

// 部件设置透明度
    QGraphicsOpacityEffect*opacityEffect=new QGraphicsOpacityEffect;
    opacityEffect->setOpacity(0.1);

    ui->pushButton->setGraphicsEffect(opacityEffect);

    //设置阴影效果
    QGraphicsDropShadowEffect*shadoweffect=new QGraphicsDropShadowEffect;

    //阴影色,透明度
    shadoweffect->setColor(QColor(100,100,100));
    shadoweffect->setBlurRadius(20);//阴影模糊半径
    shadoweffect->setXOffset(20);//阴影偏移值

    ui->pushButton->setGraphicsEffect(shadoweffect);
  • 效果图

在这里插入图片描述

3. 不规则窗体(遮罩)

QPixmap pixmap;
    pixmap.load(":/new/images/flower.png");

    ui->label->resize(pixmap.size());

    this->resize(pixmap.size());

    //设置遮罩的效果
    setMask(pixmap.mask());
    
//重写绘图事件
void Widget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);

    painter.drawPixmap(0,0,QPixmap(":/new/images/flower.png"));
}
 
  • 效果图

在这里插入图片描述

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

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

相关文章

突然!某大客户核心凌晨突然崩溃....

这几天实在太忙,刚弄完文档。业务线的同事就找到我,说一个银行客户的核心系统昨晚出了故障,还没找到原因,希望能帮忙分析下。 从提供的信息来看是业务跑任务报错,遇到了Oracle-00600和ora-07445 错误。 Doing block re…

使用Python实现深度学习模型通常涉及以下几个步骤

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……) 2、学会Oracle数据库入门到入土用法(创作中……) 3、手把手教你开发炫酷的vbs脚本制作(完善中……) 4、牛逼哄哄的 IDEA编程利器技巧(编写中……) 5、面经吐血整理的 面试技…

2024年【焊工(初级)】实操考试视频及焊工(初级)考试试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)实操考试视频根据新焊工(初级)考试大纲要求,安全生产模拟考试一点通将焊工(初级)模拟考试试题进行汇编,组成一…

Windows条件竞争提权漏洞复现(CVE-2024-300889)

漏洞原理 当内核将当前令牌对象的 _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION 复制到用户模式时,错误位于函数 AuthzBasepCopyoutInternalSecurityAttributes 内部,该模式的结构如下: //0x30 bytes (sizeof) struct _AUTHZBASEP_SECURIT…

有哪些方法可以恢复ios15不小心删除的照片?

ios15怎么恢复删除的照片?在手机相册里意外删除了重要的照片?别担心!本文将为你介绍如何在iOS 15系统中恢复已删除的照片。无需专业知识,只需要按照以下步骤操作,你就能轻松找回宝贵的回忆。 一、从iCloud云端恢复删除…

台式机通过网线直连笔记本,台式机通过笔记本上网【解决台式机没有网络的问题】

一、总览 将笔记本电脑和台式机使用网线连接起来。在笔记本电脑上打开网络和共享中心,进入“更改适配器设置”选项,找到当前连接的网卡,右键点击选择“属性”。在网卡属性中,找到“共享”选项卡,勾选“允许其他网络用…

怎么打印加密的Excel文件,有哪些方法?

很多小伙伴都喜欢使用Excel来创建或是编辑表格文档,因为Excel中的功能十分的丰富且强大,在Excel中我们可以对表格文档进行各种操作。有的小伙伴可能在打印时需要给每一页表格添加页码,但又不知道该在哪里找到相关操作,其实很简单&…

elasticsearch重置密码

0 案例背景 Elasticsearch三台集群环境,对外端口为6200,忘记elasticsearch密码,进行重置操作 注:若无特殊说明,三台服务器均需进行处理操作 1 停止es /rpa/bin/elasticsearch.sh stop 检查状态 ps -ef|grep elast…

武汉星起航:深度洞察消费趋势,亚马逊美国站选品独具匠心

亚马逊美国站作为全球电商巨头的重要分支,其选品特点不仅反映了美国市场的消费趋势,更引领着全球消费者的购物潮流。从运动户外、宠物用品到美容个人护理,亚马逊美国站的选品策略始终紧跟市场脉搏,为消费者提供丰富多样、品质优良…

深入浅出:npm常用命令详解与实战

theme: smartblue npm是什么 npm(Node Package Manager)是Node.js平台的默认包管理器,它让JavaScript开发者能够轻松地共享、管理和使用彼此编写的代码模块。npm不仅仅是一个安装工具,它还是一个全面的生态系统,用于发…

应用监控pinpoint调研

参考 https://blog.csdn.net/Rose_juvenile/article/details/135285508?utm_mediumdistribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-135285508-blog-132330996.235^v43^pc_blog_bottom_relevance_base6&spm1001.2101.3001.4242.1&a…

2024年6月大众点评广州餐饮店铺POI分析20万家

2024年6月大众点评广州餐饮店铺POI共有199175家 店铺POI点位示例: 店铺id k9uiFADtAvs9EdPC 店铺名称 点都德(聚福楼店) 十分制服务评分 8.6 十分制环境评分 8.3 十分制划算评分 8.5 人均价格 77 评价数量 41673 店铺地址 惠福东路470号(富临食府对面) 大…

算法力扣刷题记录十【19.删除链表的倒数第N个节点】

前言 链表练习,继续 题目:力扣【19.删除链表的倒数第N个节点】 题目阅读 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1…

使用Anaconda Prompt安装cv2模块

问题 使用命令: conda install opencv-python出现找不到包 使用命令:pip install opencv-python下载很慢(kb/s速度)而且会由于断连报错(不一定是网的问题) 解决方案 使用清华镜像下载,这样…

逆变器使用手册:类型详解、安装要点与维护须知

逆变器随着可再生能源的兴起和移动电源需求的激增已成为连接直流电与交流电世界的桥梁,其重要性不言而喻。无论是太阳能发电系统的高效利用,还是汽车、游艇等移动设备的电力供应,逆变器都扮演着关键角色。然而,正确的使用方法是确…

3D在线展览馆的独特魅力,技术如何重塑展览业的未来?

在数字化和虚拟现实技术迅猛发展的今天,3D在线展览馆已经成为一种颇具前景的创新形式。搭建3D在线展览馆不仅能够突破传统展览的时空限制,还能为参观者提供身临其境的体验,极大地提升展示效果和用户互动。 一、3D在线展览馆的意义 1、突破时空…

idea 自动生成序列化数字

目标:当类继承Serializable后自动生成序列化Uid 网上查了很多说勾选class without ‘serialVersionUID’ 但是我勾选没用 最后发现,我勾选的是Serialization issues里面的配置,要勾选的是JVM languages下的 如下图所示,记录一下…

鸿蒙期末项目(2)

主界面 主界面和商店详情界面参考如下设计图(灵感严重匮乏) 简单起见,将整个app分为4个布局,分别是主界面、搜索界面、购物车界面,以及个人界面。 所以在app中也需要使用tab组件进行分割,且需要通过tabBa…

笔记本电脑录屏,教你3个方法,简单录屏

随着科技的飞速发展,笔记本电脑录屏功能已经不再局限于传统的录制需求,而是成为了探索屏幕动态的新方式。无论是创意工作者、游戏爱好者还是日常办公者,都可以借助这一功能,将屏幕上的精彩瞬间、重要信息或创新思路记录下来&#…

Quads,一个无敌的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个无敌的 Python 库 - Quads。 Github地址:https://github.com/fogleman/Quads 在科学计算和工程应用中,数值积分是一个常见的问题。Python的Quads库…