Qt递归遍历子控件的按钮并设置辉光(阴影)效果

#include "mainwindow.h"#include <QApplication>
#include <QPushButton>
#include <QGraphicsDropShadowEffect>
#include <QVBoxLayout>void applyEffectToButtons(QWidget *widget, const QColor& color) {// 使用 findChildren 查找所有 QPushButtonQList<QPushButton *> buttons = widget->findChildren<QPushButton *>();// 为所有按钮应用效果for (QPushButton *button : buttons) {// 创建 QGraphicsDropShadowEffect 实例QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;effect->setColor(color);effect->setBlurRadius(10);effect->setOffset(0, 0);button->setGraphicsEffect(effect);}// 递归处理子控件for (QObject *child : widget->children()) {if (child->isWidgetType()) {applyEffectToButtons(qobject_cast<QWidget *>(child), color);}}
}int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;QVBoxLayout laout;QWidget wzt;wzt.setLayout(&laout);QPushButton button("HelloWorld");QPushButton button1("HelloWorld");QPushButton button2("HelloWorld");laout.addWidget(&button);laout.addWidget(&button1);laout.addWidget(&button2);w.setCentralWidget(&wzt);applyEffectToButtons(&w, Qt::black);w.show();return a.exec();
}

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

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

相关文章

【Python】数据分析案例:世界杯数据可视化 | 文末送书

文章目录 前期数据准备导入数据 分析&#xff1a;世界杯中各队赢得的比赛数分析&#xff1a;先打或后打的比赛获胜次数分析&#xff1a;世界杯中的抛硬币决策分析&#xff1a;2022年T20世界杯的最高得分者分析&#xff1a;世界杯比赛最佳球员奖分析&#xff1a;最适合先击球或追…

全能音乐制作环境——水果编曲软件FL Studio 21.1版本下载安装配置

目录 前言一、FL Studio 安装二、使用配置总结 前言 FL Studio是一款流行的图像线软件制作和编辑音频文件。作为一款领先的创新产品&#xff0c;该软件能够满足在创作音乐方面的需求。有了这个产品&#xff0c;可以完成制作音乐的整个过程。可以使用这个软件进行写作&#xff…

YOLOv5实现目标分类计数并显示在图像上

有同学后台私信我&#xff0c;想用YOLOv5实现目标的分类计数&#xff0c;因此本文将在之前目标计数博客的基础上添加一些代码&#xff0c;实现分类计数。阅读本文前请先看那篇博客&#xff0c;链接如下&#xff1a; YOLOv5实现目标计数_Albert_yeager的博客 1. 分类实现 以co…

已解决ModuleNotFoundError: No module named ‘cv2‘

已解决ModuleNotFoundError: No module named ‘cv2’ 文章目录 报错问题解决思路解决方法交流 报错问题 ModuleNotFoundError: No module named ‘cv2‘ 解决思路 您遇到的错误"ModuleNotFoundError: No module named ‘cv2’"是因为您的 Python 环境中没有安装 O…

深入理解 Java Bean 的生命周期及各个阶段解析

目录 引言&#xff1a;一、什么是Java Bean二、Bean的生命周期概述三、Bean的创建阶段四、属性设置阶段初始化阶段六、使用阶段七、销毁阶段 引言&#xff1a; Java Bean是Java编程中经常使用的重要概念&#xff0c;它是可重用、可移植、可序列化的组件。在Java开发中&#xf…

最新的外贸自建站教程?做外贸如何建网站?

外贸自建站教程步骤有哪些&#xff1f;海洋建站如何做网站搭建&#xff1f; 想要了解关于外贸自建站的最新教程吗&#xff1f;外贸自建站不再是高不可攀的难题&#xff0c;相反&#xff0c;它为企业提供了更多的机会和自主掌握业务的空间。海洋建站将为您提供一份全面的指南&a…

[ TypeScript ] 多个不同文件但类型名相同该如何区分?

多个不同文件但类型名相同该如何区分&#xff1f; 问题描述 在 TypeScript 中&#xff0c;当我们在不同的文件中定义相同的类型名称时就会导致类型冲突&#xff0c;程序也不知道要使用哪个类型 // A.d.ts type ID number;// B.d.ts type ID string;// 使用 const a: ID 1…

Android 编译的配置文件:android.mk 和android.bp

Android.bp文件首先是Android系统的一种编译配置文件&#xff0c;是用来代替原来的Android.mk文件的。在Android7.0以前&#xff0c;Android都是使用make来组织各模块的编译&#xff0c;对应的编译配置文件就是Android.mk。在Android7.0开始&#xff0c;Google引入了ninja和kat…

什么是大数据测试?有哪些类型?应该怎么测?

随着目前世界上各个国家使用大数据应用程序或应用大数据技术场景的数量呈指数增长&#xff0c;相应的&#xff0c;对于测试大数据应用时所需的知识与大数据测试工程师的需求也在同步增加。 针对大数据测试的相关技术已慢慢成为当下软件测试人员需要了解和掌握的一门通用技术。…

万媒易发:以RPA自动化和AIGC为基础实现多平台分发

引言 在当今数字化时代&#xff0c;信息传播的速度越来越快&#xff0c;多平台分发成为了内容创作者们必须面对的重要挑战之一。为了解决这一难题&#xff0c;我们可以借助RPA&#xff08;Robotic Process Automation&#xff09;自动化和AIGC&#xff08;Artificial Intellig…

SPSS生存分析:寿命表分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

Scala--1

package scala02object scala01_comment {def main(args: Array[String]): Unit {//// 单行注释/*多行注释*//*** 文档注释*/// 代码规范// 1.将代码格式化 ctrl alt lval a: Int 10// 2.代码不要写过长}}package scala02object scala_valANDVar {def main(args: Array[Strin…

15 网关实战: 微服务集成Swagger实现在线文档

上节介绍了网关层面聚合API文档,通过网关的路由信息找到了各个服务的请求地址,这节讲一下微服务如何集成Swagger。 网关的API文档默认调用的是微服务的**/v2/api-docs**这个接口获取API详细信息,比如文章服务的URL:http://localhost:9000/blog-article/v2/api-docs,返回信…

Python分享之字符串格式化 (%操作符)

在许多编程语言中都包含有格式化字符串的功能&#xff0c;比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时&#xff0c;Python使用一个字符串作为模板。模板中有格式符&#xff0c;这些格式符为真实值预留位置&#xff…

Python二叉树用法介绍

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 二叉树是一种常见的数据结构&#xff0c;具有树形结构&#xff0c;每个节点最多有两个子节点。Python中有多种方式来表示和操作二叉树&#xff0c;本文将介绍二叉树的基本概念、构建、遍历和一些常见操作&#x…

3个.NET开源免费的仓库管理系统(WMS)

前言 今天给大家推荐3个.NET开源免费的WMS仓库管理系统&#xff08;注意&#xff1a;以下排名不分先后&#xff09;。 仓储管理系统介绍 仓储管理系统&#xff08;Warehouse Management System&#xff0c;WMS&#xff09;是一种用于管理和控制仓库操作的软件系统&#xff0…

F5社区学习心得分享:如何克服云迁移挑战?

伴随数字时代的快速发展&#xff0c;很多企业都会借助云迁移&#xff0c;踏上转型之旅。尽管云迁移被认为是一种能够节约成本&#xff0c;且不会影响正常运营的现代化改造举措&#xff0c;然而我们并不能低估它的复杂性。正如有研究表明&#xff0c;约有41%的企业并没有通过云迁…

lv11 嵌入式开发 WDT实验 12

目录 1 WDT简介 2 Exynos4412下的WDT控制器 2.1 概述 2.2 WDT的特性 2.3 工作原理 2.4 其他细节 3 WDT寄存器详解 3.1 WTCON控制寄存器 3.2 WTDAT 实时中断寄存器 3.3 WTCNT 递减计数器 3.4 WTCLRINT清除中断寄存器 4 WDT编程 1 WDT简介 Watch Dog Timer即看门狗定…

数据库常见的数据模型

关系模型 是使用表格表示实体和实体之间关系的数据模型&#xff0c;无论是实体还是实体之间的联系都被映射成统一的关系&#xff0c;一张二维表。关系数据模型的结构简单明了&#xff0c;操作方便&#xff0c;有坚实的数学理论做基础&#xff0c;包括逻辑计算、数学计算等。但…

window.onload方法

问题 当在js文件中写好了如下代码&#xff1a; var button document.getElementById(btn); button.addEventListener("click",function(){alert("hhh"); });为按钮绑定了一个事件&#xff0c;点击按钮时没反应 解决 虽然我们写好了函数&#xff0c;但…