当前位置:开发工具->QT ->Qt零基础教程(四):QWidget:windowFlags源码详解

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

作者:Honei_X  发表时间:2015-8-11  阅读:
[摘要] 在这篇文章里面我们来分析一下这个windowFlags的内容

在这篇文章里面我们来分析一下这个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++技术网原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。

返回顶部

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