Thu*_*tha 12 qt window shadow borderless
我正在尝试创建一个在其下面有阴影的无框窗口.当我们用Qt :: FramelessWindowHint标志创建一个无边框窗口时,它不包含阴影.但是我们可以通过创建QGraphicsDropShadowEffect对象,然后通过setGraphicsEffect函数将其传递给窗口小部件,从而轻松地为子窗口小部件添加阴影.但这似乎对QMainWindow不起作用.请帮我把阴影放到Qt的无框窗口......
zeF*_*ree 13
你可以使用这个简单的hack来做到这一点:
将一个"QWidget"(比如小部件)添加到MainWindow,并将MainWindow上的所有内容移动到小部件.然后这样做:
setAttribute(Qt::WA_TranslucentBackground); //enable MainWindow to be transparent
QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect();
effect->setBlurRadius(5);
ui->widget->setGraphicsEffect(effect);
Run Code Online (Sandbox Code Playgroud)
这似乎对我有用.看到:

| 归档时间: |
|
| 查看次数: |
11918 次 |
| 最近记录: |