new出的QDialog的状态栏一般只有最大化、关闭两个选项。通过设置setwindowflags()的方法来设置窗口状态栏情况。
仔细阅读后发现通过设置flags :setWindowFlags(Qt::Drawer);可以实现效果。
但是新的我呢题出现了,设置qt:Drawer后new出的Qdialog出现在屏幕的左上角(0,0)处,
通过移动new出来的dialog可将它移动到屏幕中间。代码如下:
m_addnewdevice = new AddNode;
m_addnewdevice->move((QApplication::desktop()->width())/3,(QApplication::desktop()->height())/3);
完美实现。
参考:
方法二:在调用show()函数后调用move()函数,j将窗口移动到屏幕中央。
#include <QDesktopWidget>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
w.move ((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() - w.height())/2);
return a.exec();
}
------解决方案--------------------------------------------------------
setWindowFlags ( Qt::WindowFlags type )
Qt::FrameWindowHint:没有边框的窗口
Qt::WindowStaysOnTopHint://总在最上面的窗口
Qt::CustomizeWindowHint://自定义窗口标题栏,以下标志必须与这个标志一起使用才有效,否则窗口将有默认的标题栏
Qt::WindowTitleHint:显示窗口标题栏
Qt::WindowSystemMenuHint://显示系统菜单
Qt::WindowMinimizeButtonHint://显示最小化按钮
Qt::WindowMaximizeButtonHint://显示最大化按钮
Qt::WindowMinMaxButtonsHint://显示最小化按钮和最大化按钮
Qt::WindowCloseButtonHint://显示关闭按钮
------解决方案--------------------------------------------------------
setWindowFlags(Qt::FramelessWindowHint);直接隐藏掉。。