如何在Qt中隐藏对话框的标题栏

时间:2014-09-24 11:34:52

标签: qt dialog hide titlebar

我在qt应用程序中显示一个对话框,菜单操作点击窗口显示完美,但我想隐藏其标题栏,因为它只是主窗口内的一个子窗口。 我试过了

  this->setWindowFlags(Qt::Window |Qt::FramelessWindowHint) ; 

在对话框构造函数

ui->setupUi(this);
this->setWindowState ( Qt::WindowActive);
setWindowModality(Qt::ApplicationModal);
setAttribute ( Qt::WA_DeleteOnClose);
this->setWindowFlags(Qt::Window |Qt::FramelessWindowHint) ; // 

这确实删除了标题栏,但它也隐藏了主窗口,这对我的应用程序不利。 请帮助我如何隐藏对话框标题栏而不打扰应用程序的基本主窗口。

2 个答案:

答案 0 :(得分:3)

 QDialog *dialog(new QDialog /* this should be your dialog class youve created obviously*/));
 dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
 dialog->show();

答案 1 :(得分:1)

你错过了CustomizeWindowHint。

source code here(第1035行)可以看到QWidget,它根据该标志决定做什么。所以我建议尝试这个: -

setWindowFlags(Qt::Window | Qt::CustomizeWindowHint);