无框窗口无法在Linux Ubunthu上运行

时间:2017-10-26 06:24:51

标签: qt qt4

我正在创建一个需要无框窗口的对话框,我用了

setWindowFlags(Qt::FramelessWindowHint );

这适用于Windows,但在Linux上它不起作用

BaseClass的

csGuiDialog::csGuiDialog(QWidget *parent)
: QDialog(parent)
{
 Qt::WindowFlags flags = Qt::Dialog| Qt::FramelessWindowHint;

 QWidget::setWindowFlags(flags);
 setFocusPolicy(Qt::StrongFocus);
}

派生类

csGuiOutputSelectionMainWindow::csGuiOutputSelectionMainWindow(QWidget *parent)
: csGuiDialog(parent)
{
 setTitle(QString("Selection Window"));
 setWindowFlags(Qt::FramelessWindowHint );
 this->setStyleSheet("background-color: rgb(255, 255, 255)");
}

为什么它不在Linux中工作

1 个答案:

答案 0 :(得分:0)

QRectF framelessGeom = QRectF(15,10,900,575);
setMask(framelessGeom.toRect());

这很有效但是小部件右侧和底部的阴影效果消失了。这个阴影效果是linux中所有小部件的默认值