Qt MainWindow模态设置方法

    //设置父窗口
    setParent(this);
    //设置为独立窗口
    setWindowFlags(Qt::Window);
    //设置模态阻塞
	setWindowModality(Qt::WindowModal);
    //显示
	show();

 函数原型:

void setWindowModality(Qt::WindowModality windowModality);

Qt::NonModal :表示该窗口不是模态窗口,不会阻止其他窗口的输入。
Qt::WindowModal :表示该窗口是单个窗口层次结构的模态,会阻止输入到其父窗口、所有祖父窗口以及其父窗口和祖父窗口的所有同级窗口。
Qt::ApplicationModal :表示该窗口是应用程序的模态窗口,会阻止本应用所有窗口的输入。

 函数原型:

void setWindowFlags(Qt::WindowFlags type);

Qt::Widget:这是QWidget的默认类型。如果它们有父级,这种类型的部件是子部件,如果没有父控件,则为独立窗口。另请参见Qt :: Window和Qt :: SubWindow。
Qt::Window:表示小部件是一个窗口,无论窗口小部件是否具有父控件,通常具有窗口系统框架和标题栏。 请注意,如果部件没有父控件,则无法取消设置此标记(即如果存在父控件,则可以取消此标记,否则,必须存在此标记用以标识此控件是个独立窗口)。
Qt::Dialog:指示部件是应该作为对话框窗口(即标题栏中通常没有最大化或最小化按钮)。这是QDialog的默认类型。如果要将其用作模态对话框,则应从另一个窗口启动它,或者如果有父窗口,则与QWidget::windowModality属性一起使用。如果将其设置为模态,则对话框将阻止应用程序中的其他顶级窗口获取任何输入。我们将具有父级的顶级窗口称为辅助窗口。
Qt::Sheet:表示该窗口是Macintosh工作表。 由于使用工作表意味着窗口模态,推荐的方法是使用QWidget :: setWindowModality()或QDialog :: open()。
Qt::Drawer:表示该窗口小部件是Macintosh抽屉。
Qt::Popup:表示窗口小部件是弹出式顶级窗口,即它是模态的,但具有适合弹出菜单的窗口系统框架。
Qt::Tool:表示窗口小部件是工具窗口。工具窗口通常是一个小窗口,其标题栏和装饰比通常小,通常用于工具按钮的集合。 如果有父部件,则工具窗口将始终保持在其上。 如果没有父部件,您可以考虑使用Qt :: WindowStaysOnTopHint使其位于最顶端。 如果窗口系统支持它,工具窗口可以用更轻的框架装饰。它也可以与Qt :: FramelessWindowHint结合使用。 在macOS上,工具窗口对应浮动类窗口。 这意味着窗口存在于正常窗口之上; 不可能在它上面放一个普通的窗口。 默认情况下,当应用程序处于非活动状态时,工具窗口将消失。 这可以通过Qt :: WA_MacAlwaysShowToolWindow属性来控制。
Qt::ToolTip:表示窗口小部件是工具提示。 这在内部用于实现工具提示,没有标题栏和窗口边框。
Qt::SplashScreen:表示该窗口是闪屏。 这是QSplashScreen的默认类型。
Qt::Desktop:表示此小组件是桌面。 这是QDesktopWidget的类型。
Qt::SubWindow:表示此窗口小部件是子窗口,例如QMdiSubWindow窗口小部件。
Qt::ForeignWindow:指示此窗口对象是表示由另一个进程创建的本机平台窗口或手动使用本机代码的句柄。
Qt::CoverWindow:表示该窗口代表一个封面窗口,例如,当应用程序在BlackBerry平台上最小化时显示。

Qt::MSWindowsFixedSizeDialogHint:Windows系统固定大小窄边框窗口。

Qt::CustomizeWindowHint:关闭默认窗口标题提示。
Qt::WindowTitleHint:为窗口修饰一个标题栏。
Qt::WindowSystemMenuHint:为窗口修饰一个窗口菜单系统。
Qt::WindowMinimizeButtonHint:为窗口添加最小化按钮。
Qt::WindowMaximizeButtonHint:为窗口添加最大化按钮。
Qt::WindowMinMaxButtonsHint:为窗口添加最大化和最小化按钮。
Qt::WindowCloseButtonHint:窗口只有一个关闭按钮。
Qt::WindowContextHelpButtonHint:为窗口添加一个"上下文帮助"按钮。
Qt::MacWindowToolBarButtonHint:在macOS上添加一个工具栏按钮。
Qt::WindowFullscreenButtonHint
Qt::BypassGraphicsProxyWidget:如果希望窗口小部件始终是桌面上的顶级窗口小部件,则可以设置此标志。
Qt::WindowShadeButtonHint:如果基础窗口管理器支持,则添加阴影按钮来代替最小化按钮。
Qt::WindowStaysOnTopHint:窗口在顶层。
Qt::WindowStaysOnBottomHint:窗口在底层。
Qt::WindowTransparentForInput:该窗口仅用于输出(显示某些内容)并且不接受输入。

Qt::FramelessWindowHint:生成无边框窗口。用户不能通过窗口系统移动或调整无边框窗口的大小。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大笨象、小笨熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值