一、描述
自定义窗口控件标志用于启用自定义窗口控件。调用setWindowFlags(type)函数。
type参数:
Qt::CustomizeWindowHint | 关闭默认窗口标题提示。 |
Qt::WindowTitleHint | 给窗口一个标题栏 |
Qt::WindowSystemMenuHint | 添加窗口系统菜单,并可能添加关闭按钮 |
Qt::WindowMinimizeButtonHint | 添加最小化按钮 |
Qt::WindowMaximizeButtonHint | 添加最大化按钮 |
Qt::WindowMinMaxButtonsHint | 添加最大化最小化按钮 |
Qt::WindowCloseButtonHint | 添加关闭按钮 |
Qt::WindowContextHelpButtonHint | 向对话框添加上下文帮助按钮 |
Qt::MacWindowToolBarButtonHint | 在MacOS上添加工具栏按钮 |
Qt::WindowFullscreenButtonHint | 在MacOS上添加全屏按钮 |
Qt::BypassGraphicsProxyWidget | 如果父窗口小部件已经嵌入,则阻止窗口及其子窗口自动嵌入到QGraphicsProxyWidget中。如果希望小部件始终是桌面上的顶级小部件,则可以设置此标志,而不管父小部件是否嵌入到场景中。 |
Qt::WindowShadeButtonHint | 如果基础窗口管理器支持,则在“最小化”按钮的位置添加一个阴影按钮。 |
Qt::WindowStaysOnTopHint | 通知窗口系统窗口应位于所有其他窗口的顶部。 |
Qt::WindowStaysOnBottomHint | 通知窗口系统窗口应位于所有其他窗口的底部。 |
Qt::WindowTransparentForInput | 通知窗口系统此窗口仅用于输出(显示某些内容),不接受输入 |
Qt::WindowOverridesSystemGestures | 通知窗口系统此窗口实现自己的一组手势,并且应禁用系统级手势,例如三指桌面切换。 |
Qt::WindowDoesNotAcceptFocus | 通知窗口系统此窗口不应接收输入焦点。 |
Qt::MaximizeUsingFullscreenGeometryHint | 通知窗口系统,在最大化窗口时,应尽可能多地使用可用的屏幕几何图形,包括系统用户界面可能覆盖的区域,如状态栏或应用程序启动程序 |
Qt::WindowType_Mask | 用于提取窗口标志的窗口类型部分的掩码 |
二、方法
要使新建的窗口始终位于当前屏幕的最前面,需要在创建窗口的时候设置自定义窗口属性为:WindowStaysOnTopHint。
代码如下:
QMessageBox *msgBox;msgBox = new QMessageBox(title,text,QMessageBox::Question,QMessageBox::Ok | QMessageBox::Default,NULL,0);msgBox->setWindowFlags(Qt::WindowStaysOnTopHint);msgBox->show();