Qt 如何隐藏QDialog窗口的标题栏?

Qt 如何隐藏QDialog窗口的标题栏?,qt,dialog,hide,titlebar,Qt,Dialog,Hide,Titlebar,我在qt应用程序的菜单上显示了一个对话框,动作点击窗口显示得很完美,但我想隐藏它的标题栏,因为它只是主窗口中的一个子窗口 我试过: this->setWindowFlags(Qt::Window |Qt::FramelessWindowHint); 在对话框构造函数中: ui->setupUi(this); this->setWindowState (Qt::WindowActive); setWindowModality(Qt::ApplicationModal); set

我在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) ; // 
这确实删除了标题栏,但也隐藏了主窗口,这对我的应用程序不利


如何隐藏对话框标题栏而不干扰应用程序的基本主窗口?

您缺少自定义窗口

 QDialog *dialog(new QDialog /* this should be your dialog class youve created obviously*/));
 dialog->setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
 dialog->show();
从QWidget的(第1035行)中可以看到,它根据该标志决定要做什么。所以我建议试试这个:-

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

你错过了定制区

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

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

您的建议与->setWindowFlags(Qt::Window | Qt::FramelessWindowHint)的工作方式相同,它确实隐藏了窗口的标题栏,但也扰乱了应用程序的主窗口。thanx您的答案很好,但不适合我的应用程序,因为我想隐藏“对话框”的标题栏,而不是窗口。您的答案与mainwindow widgetur建议的工作方式相同->setWindowFlags(Qt::Window | Qt::FramelessWindowHint),它确实隐藏了窗口的标题栏,但也扰乱了应用程序的主窗口。thanx你的答案很好,但它不适合我的应用程序,因为我想隐藏“对话框”的标题栏,而不是窗口。您的答案与mainwindow Widget配合良好。的可能重复项。的可能重复项。