QT设置窗口阴影

先上效果图
QT设置窗口阴影_第1张图片
窗口加上阴影能够使窗口显得更加立体,实现方式也很简单,采用Widget或Dialog嵌套frame的形式实现,具体实现如下。
布局
QT设置窗口阴影_第2张图片
布局层级
QT设置窗口阴影_第3张图片
简单解释一下,在widget的内套一个QFrame,然后将所有控件拖拽到QFrame中,对整个QWidget进行布局,预留一定的边距(具体多少根据自己的场景定),然后设置顶层widget背景透明,QFrame背景白色。

#MyWidget
{
	background-color:transparent;
}

#frame
{
	background-color: rgb(255, 255, 255);
}

最后在构造函数中给QFrame设置阴影即可

//创建阴影
    QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect(this);
    //设置偏移
    effect->setOffset(3);
    //设置模糊
    effect->setBlurRadius(20);
    //设置颜色
    effect->setColor(QColor("#444440"));
    ui->frame->setGraphicsEffect(effect);

你可能感兴趣的:(qt,开发语言)