无框窗口显示linux上的黑色边框

时间:2017-10-06 11:35:41

标签: c++ qt qt4 qtplugin

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

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

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

这在Windows上工作得很好但是当我在Linux中打开相同的对话框时,它在对话框周围显示深黑色边框。

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

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

对于linux中的无框窗口,请使用Qt::FramelessWindowHint,如下所示:

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

screenshot

经过测试:

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