实用的Qt窗口标志(Qt::WindowFlags)

窗口标志枚举类型用于指定小部件的各种窗口系统属性。其中一些标志取决于底层窗口管理器是否支持它们。以下是一些比较实用的窗口标志:

1、Qt::Widget:这是QWidget的默认类型。如果有父窗口则为子窗口小部件,如果没有父窗口则为独立窗口小部件。

2、Qt::Window:小部件是一个窗口,通常带有窗口系统框架和标题栏,而不管小部件是否有父级如果有父级,小部件在顶层。默认标题栏有最小话、最大化、关闭按钮。如果小部件没有父级,则无法取消设置此标志。

    QWidget * w = new QWidget(this);
    w->setWindowFlags(Qt::Window);
    w->setAttribute(Qt::WA_DeleteOnClose);//关闭后删除对象
    w->show();

3、Qt::Dialog:小部件是一个对话框。默认标题栏有关闭按钮。这是QDialog的默认类型。如果有父级,小部件在顶层。

    w.setWindowFlags(Qt::Dialog);

4、Qt::Popup:小部件是一个弹出式顶级窗口,即它是模态窗口。无标题栏、无关闭按钮。这种类型适合作为子窗口,当失去焦点时窗口会关闭,适合用作弹出提示信息的窗口。合适的用法:

    QWidget * w = new QWidget(this);
    w->setWindowFlags(Qt::Popup);
    w->setGeometry(300,300,300,300);
    w->setAttribute(Qt::WA_DeleteOnClose);//关闭后删除对象
    w->show();

5、Qt::Tool:小部件是工具窗口。工具窗口通常是一个小窗口,有标题栏,标题栏上只有一个比一般窗口小的按钮如果有父级,小部件在顶层。如果没有父级,也可以考虑使用Qt::WindowStaysOnTopHint。它也可以与Qt::FramelessWindowHint结合使用去掉标题栏。

6、Qt::ToolTip:工具提示小部件。没有标题栏始终在顶层。失去焦点也不消失。比较合适的用法是把QLabel放到里面,设置提示信息,然后设置QTimer::singleShot让它过几秒钟消失。

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

8、Qt::CustomizeWindowHint:关闭默认窗口标题。


标题栏变得很窄,右键菜单没有了,按钮没有了。

9、Qt::WindowTitleHint:设置了CustomizeWindowHint之后保留标题栏:

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

要两个一起设置。

10、Qt::WindowMinimizeButtonHint:最小化按钮。

11、Qt::WindowMaximizeButtonHint:最大化按钮。

12、Qt::WindowMinMaxButtonsHint:最大最小化两个按钮。

13、Qt::WindowCloseButtonHint:关闭按钮。

14、Qt::WindowContextHelpButtonHint:帮助按钮。

15、Qt::WindowStaysOnTopHint:窗口在顶层。

16、Qt::WindowStaysOnBottomHint:窗口在底层。

  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值