无框 window 在 linux 上显示深色边框

Frameless window shows dark border on linux

我创建了一个带有阴影效果的对话框

 Qt::WindowFlags flags = Qt::Dialog| Qt::FramelessWindowHint;

 QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect;
 effect->setOffset(4);
 effect->setBlurRadius(9);
 contWdget->setGraphicsEffect(effect);

这在 windows 上完美运行,但是当我在 Linux 中打开同一个对话框时,它在对话框周围显示深黑色边框。

我需要做些什么才能让它在 Linux 上运行。

要在 linux 中无框架 window,请像这样使用 Qt::FramelessWindowHint :

QDialog *dialog = new QDialog();
dialog->setWindowFlags( Qt::FramelessWindowHint );
dialog->show();

测试时间:

Qt Creator 4.3.1

Based on Qt 5.9.0 (GCC 5.3.1 20160406 (Red Hat 5.3.1-6), 64 bit)

Ubuntu 16.04 LTS