【今日/总数】文章:0/2773 用户:0/10774 书籍:0/200
回顾2016,喜迎2017,以“回顾我与C++技术网的2016,展望C++技术网的2017”为主题,发表文章,将有机会赢得2个月的会员或现金红包。

原创版权标志Qt零基础教程(四):QWidget:windowFlags源码详解

作者:Honei_X  发表时间:2015-8-11  阅读:3352
[摘要]在这篇文章里面我们来分析一下这个windowFlags的内容
文章来源:C++技术网 原创文章版权所有,未经授权,禁止转载。

在这篇文章里面我们来分析一下这个windowFlags的内容

        在上面文章中我讲到Qt::WindowFlagstypehint两种,但是这个都是定义在一个枚举类型中,Qt中的定义如下:

****************************************************************************


enum WindowType {
        /*这部分是type类型*/
        Widget = 0x00000000,
        Window = 0x00000001,
        Dialog = 0x00000002 | Window,
        Sheet = 0x00000004 | Window,
        Drawer = Sheet | Dialog,
        Popup = 0x00000008 | Window,
        Tool = Popup | Dialog,
        ToolTip = Popup | Sheet,
        SplashScreen = ToolTip | Dialog,
        Desktop = 0x00000010 | Window,
        SubWindow = 0x00000012,
        ForeignWindow = 0x00000020 | Window,
        CoverWindow = 0x00000040 | Window,
 
 
        /*这部分是hint*/
        WindowType_Mask = 0x000000ff,
        MSWindowsFixedSizeDialogHint = 0x00000100,
        MSWindowsOwnDC = 0x00000200,
        BypassWindowManagerHint = 0x00000400,
        X11BypassWindowManagerHint = BypassWindowManagerHint,
        FramelessWindowHint = 0x00000800,
        WindowTitleHint = 0x00001000,
        WindowSystemMenuHint = 0x00002000,
        WindowMinimizeButtonHint = 0x00004000,
        WindowMaximizeButtonHint = 0x00008000,
         WindowMinMaxButtonsHint = WindowMinimizeButtonHint | 
         WindowMaximizeButtonHint,
        WindowContextHelpButtonHint = 0x00010000,
        WindowShadeButtonHint = 0x00020000,
        WindowStaysOnTopHint = 0x00040000,
        WindowTransparentForInput = 0x00080000,
        WindowOverridesSystemGestures = 0x00100000,
        WindowDoesNotAcceptFocus = 0x00200000,
 
        CustomizeWindowHint = 0x02000000,
        WindowStaysOnBottomHint = 0x04000000,
        WindowCloseButtonHint = 0x08000000,
        MacWindowToolBarButtonHint = 0x10000000,
        BypassGraphicsProxyWidget = 0x20000000,
        WindowOkButtonHint = 0x00080000,
        WindowCancelButtonHint = 0x00100000,
        NoDropShadowWindowHint = 0x40000000,
        WindowFullscreenButtonHint = 0x80000000
}; 


********************************************************************

然后有:


Q_DECLARE_FLAGS(WindowFlags, WindowType)


也即是说Qt::WindowFlags的实际内容就是Qt::WindowType。

下面我就来讲一下这两种。

***************************************************************************

首先我们看一下Qt中对于Qt::windowType的描述:


        首先这个有一个Qt::WindowType类型的枚举类型的,这里说这个枚举类型Qt::WindowType是用来指定窗口部件widget各种不同的窗口系统特性的。这些类型我们不经常用,但是确实是在某些情况下是必不可少的。他们中的某些类型还要取决于我们使用的系统的窗口管理系统是否支持这些类型。每种类型都有自己的一些特性。


***************************************************************************

        后面还有其他的一些特性,这些特性都是在顶层窗口上用来自定义窗口的。而且这些特性对其他的窗口的没有影响。


***************************************************************************

        这些窗口是用来自定义窗口...【登录后阅读更多内容】

文章来源:C++技术网 原创文章版权所有,未经授权,禁止转载。



返回顶部

关于我们 QQ群 广告服务 增值服务 捐款资助 版权声明 RSS订阅 站点地图 百度网站地图 意见反馈
鄂ICP备14001349号-2, Copyright © 2014-2017, CJJJS.COM/CJJJS.CN, All Rights Reserved

在线提问
问题标题:
问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)