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是可以直接调用接口来修改阴影效果的,不需要这样麻烦。

最新文章

  1. python字符串函数
  2. Qt + FFmpeg 本地音频播放器
  3. [转]遍历windows服务
  4. Qt 框架 开发HTTP 服务器 开发记录
  5. 开源项目go2o - golang版的o2o项目
  6. 修改MYSQL 表中的字段属性
  7. discuz 发布分类信息,能不能设置单版块去掉“发帖子”(默认点发帖后为自定义的默认分类信息模版)
  8. PHP利用GD库画曲线
  9. SQL SERVER 2008/2012/2012R2/2014 设置开启远程连接(sa配置)
  10. [Accessibility] Missing contentDescription attribute on image [可取行]失踪contentDescription属性图像
  11. Genymotion中文手册
  12. MySQL的C++简单封装
  13. C/C++中如何获取数组的长度?
  14. Oracle 11g随Redhat 5系统自动启动与关闭的设置方法
  15. Day05_JAVAEE系列:Junit
  16. 搭建eureka服务
  17. node.js零基础详细教程(6):mongodb数据库操作
  18. 【HDU 6036】Division Game (NTT+数学)
  19. 通过shell快速配置J2EE运行环境
  20. 洛谷 P2317 [HNOI2005]星际贸易 解题报告

热门文章

  1. 代码页(CodePage)列表
  2. 计算机之路 -MySQL 初学
  3. PAT练习num4-D进制的A+B
  4. 【.NET 与树莓派】矩阵按键
  5. uni-app开发经验分享十二: Android平台应用启动时读写手机存储、访问设备信息(如IMEI)等权限策略及提示信息
  6. Py-解决粘包现象,tcp实现并发,tcp实现传输文件的程序,校验思路,线程与进程
  7. SpringBoot单元测试的两种形式
  8. 前端面试之JavaScript中数组的方法!【残缺版!!】
  9. Spring框架入门浅析
  10. Prometheus+Grafana+kafka_exporter监控kafka