使用DTK创建模糊背景窗口并自定义阴影效果
2024-08-23 20:17:18
DTK是deepin开发的基于Qt的开发套件,提供了大量的具有独特风格的美化控件,也提供了很多非常方便的API,下边我们用DTK实现一个模糊窗口,并设置其阴影效果。
使用场景
一切需要模糊窗口作为美化的地方,当作为悬浮窗等小型窗口时,可以减弱阴影的深度来达到更好地效果。
具体方法
将MainWindow继承自DTK的模糊窗口控件DBlurEffectWidget
,然后使用DPlatformWindowHandle修改阴影效果。
下面是MainWindow的构造函数:
MainWindow::MainWindow(QWidget *parent)
: DBlurEffectWidget(parent)
{
DPlatformWindowHandle *handle=new DPlatformWindowHandle(this);
handle->setShadowColor(QColor(255,0,0,100)); //修改阴影颜色,最后一项为alpha通道
setMaskAlpha(0); //设置模糊窗口的不透明度,数值越低越通透
}
需要包含头文件DBlurEffectWidget、DPlatformWindowHandle。
通过调用setShadowColor
来修改阴影的颜色,使用alpha通道修改阴影的不透明度。
上述代码将阴影设置为红色,并将不透明度设置为100(我知道效果稍微辣眼,但是这只是演示)。
效果如图所示:
另外,DTK提供的DMainWindow是可以直接调用接口来修改阴影效果的,不需要这样麻烦。
最新文章
- python字符串函数
- Qt + FFmpeg 本地音频播放器
- [转]遍历windows服务
- Qt 框架 开发HTTP 服务器 开发记录
- 开源项目go2o - golang版的o2o项目
- 修改MYSQL 表中的字段属性
- discuz 发布分类信息,能不能设置单版块去掉“发帖子”(默认点发帖后为自定义的默认分类信息模版)
- PHP利用GD库画曲线
- SQL SERVER 2008/2012/2012R2/2014 设置开启远程连接(sa配置)
- [Accessibility] Missing contentDescription attribute on image [可取行]失踪contentDescription属性图像
- Genymotion中文手册
- MySQL的C++简单封装
- C/C++中如何获取数组的长度?
- Oracle 11g随Redhat 5系统自动启动与关闭的设置方法
- Day05_JAVAEE系列:Junit
- 搭建eureka服务
- node.js零基础详细教程(6):mongodb数据库操作
- 【HDU 6036】Division Game (NTT+数学)
- 通过shell快速配置J2EE运行环境
- 洛谷 P2317 [HNOI2005]星际贸易 解题报告
热门文章
- 代码页(CodePage)列表
- 计算机之路 -MySQL 初学
- PAT练习num4-D进制的A+B
- 【.NET 与树莓派】矩阵按键
- uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息
- Py-解决粘包现象,tcp实现并发,tcp实现传输文件的程序,校验思路,线程与进程
- SpringBoot单元测试的两种形式
- 前端面试之JavaScript中数组的方法!【残缺版!!】
- Spring框架入门浅析
- Prometheus+Grafana+kafka_exporter监控kafka