首页 > 其他 > 详细

使用DTK创建模糊背景窗口并自定义阴影效果

时间:2021-02-05 16:36:12      阅读:32      评论:0      收藏:0      [点我收藏+]

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

使用DTK创建模糊背景窗口并自定义阴影效果

原文:https://www.cnblogs.com/maicss/p/14378079.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!