1/****************************************************************************
2**
3** Copyright (C) 2020 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the documentation of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:FDL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Free Documentation License Usage
18** Alternatively, this file may be used under the terms of the GNU Free
19** Documentation License version 1.3 as published by the Free Software
20** Foundation and appearing in the file included in the packaging of
21** this file. Please review the following information to ensure
22** the GNU Free Documentation License version 1.3 requirements
23** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
24** $QT_END_LICENSE$
25**
26****************************************************************************/
27
28/*!
29    \namespace Qt
30    \inmodule QtCore
31    \keyword Qt Namespace
32
33    \brief The Qt namespace contains miscellaneous identifiers
34    used throughout the Qt library.
35*/
36
37/*!
38    \enum Qt::Orientation
39
40    This type is used to signify an object's orientation.
41
42    \value Horizontal
43    \value Vertical
44
45    Orientation is used with QScrollBar for example.
46*/
47
48/*!
49    \enum Qt::AlignmentFlag
50
51    This enum type is used to describe alignment. It contains
52    horizontal and vertical flags that can be combined to produce
53    the required effect.
54
55    The \l{TextElideMode} enum can also be used in many situations
56    to fine-tune the appearance of aligned text.
57
58    The horizontal flags are:
59
60    \value AlignLeft Aligns with the left edge.
61    \value AlignRight Aligns with the right edge.
62    \value AlignHCenter Centers horizontally in the available space.
63    \value AlignJustify Justifies the text in the available space.
64
65    The vertical flags are:
66
67    \value AlignTop Aligns with the top.
68    \value AlignBottom Aligns with the bottom.
69    \value AlignVCenter Centers vertically in the available space.
70    \value AlignBaseline Aligns with the baseline.
71
72    You can use only one of the horizontal flags at a time. There is
73    one two-dimensional flag:
74
75    \value AlignCenter Centers in both dimensions.
76
77    You can use at most one horizontal and one vertical flag at a
78    time. Qt::AlignCenter counts as both horizontal and vertical.
79
80    Three enum values are useful in applications that can be run in
81    right-to-left mode:
82
83    \value AlignAbsolute  If the widget's layout direction is
84        Qt::RightToLeft (instead of Qt::LeftToRight, the default),
85        Qt::AlignLeft refers to the \e right edge and Qt::AlignRight
86        to the \e left edge. This is normally the desired behavior.
87        If you want Qt::AlignLeft to always mean "left" and
88        Qt::AlignRight to always mean "right", combine the flag with
89        Qt::AlignAbsolute.
90    \value AlignLeading  Synonym for Qt::AlignLeft.
91    \value AlignTrailing  Synonym for Qt::AlignRight.
92
93    Masks:
94
95    \value AlignHorizontal_Mask
96    \value AlignVertical_Mask
97
98    Conflicting combinations of flags have undefined meanings.
99*/
100
101/*!
102    \enum Qt::ApplicationAttribute
103
104    This enum describes attributes that change the behavior of
105    application-wide features. These are enabled and disabled using
106    QCoreApplication::setAttribute(), and can be tested for with
107    QCoreApplication::testAttribute().
108
109
110    \value AA_DontShowIconsInMenus Actions with the Icon property won't be
111           shown in any menus unless specifically set by the
112           QAction::iconVisibleInMenu property.
113           Menus that are currently open or menus already created in the native
114           \macos menubar \e{may not} pick up a change in this attribute. Changes
115           in the QAction::iconVisibleInMenu property will always be picked up.
116
117    \value AA_DontShowShortcutsInContextMenus Actions with the Shortcut property
118           won't be shown in any shortcut menus unless specifically set by the
119           QAction::shortcutVisibleInContextMenu property. This value was added
120           in Qt 5.10.
121
122    \value AA_NativeWindows Ensures that widgets have native windows.
123
124    \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
125           widgets stay non-native unless specifically set by the
126           Qt::WA_NativeWindow attribute.
127
128    \value AA_PluginApplication Indicates that Qt is used to author a plugin. Depending
129           on the operating system, it suppresses specific initializations that do not
130           necessarily make sense in the plugin case.
131           For example on \macos, this includes avoiding loading our nib for the main
132           menu and not taking possession of the native menu bar. Setting this
133           attribute to true will also set the AA_DontUseNativeMenuBar attribute
134           to true. It also disables native event filters.
135           This attribute must be set before QGuiApplication constructed.
136           This value was added in Qt 5.7.
137
138    \value AA_DontUseNativeMenuBar All menubars created while this attribute is
139           set to true won't be used as a native menubar (e.g, the menubar at
140           the top of the main screen on \macos).
141
142    \value AA_MacDontSwapCtrlAndMeta On \macos by default, Qt swaps the
143           Control and Meta (Command) keys (i.e., whenever Control is pressed, Qt
144           sends Meta, and whenever Meta is pressed Control is sent). When this
145           attribute is true, Qt will not do the flip. \l QKeySequence::StandardKey
146           will also flip accordingly (i.e., QKeySequence::Copy will be
147           Command+C on the keyboard regardless of the value set, though what is output for
148           QKeySequence::toString() will be different).
149
150    \value AA_Use96Dpi Assume the screen has a resolution of 96 DPI rather
151           than using the OS-provided resolution. This will cause font rendering
152           to be consistent in pixels-per-point across devices rather than
153           defining 1 point as 1/72 inch.
154
155    \value AA_SynthesizeTouchForUnhandledMouseEvents All mouse events
156           that are not accepted by the application will be translated
157           to touch events instead.
158
159    \value AA_SynthesizeMouseForUnhandledTouchEvents All touch events
160           that are not accepted by the application will be translated
161           to left button mouse events instead. This attribute is enabled
162           by default.
163
164    \value AA_UseHighDpiPixmaps Make QIcon::pixmap() generate high-dpi pixmaps
165           that can be larger than the requested size. Such pixmaps will have
166           \l {QPixmap::devicePixelRatio}{devicePixelRatio()} set to a value higher than 1.
167           After setting this attribute, application code that uses pixmap
168           sizes in layout geometry calculations should typically divide by
169           \l {QPixmap::devicePixelRatio}{devicePixelRatio()} to get device-independent layout geometry.
170
171    \value AA_ForceRasterWidgets Make top-level widgets use pure raster surfaces,
172           and do not support non-native GL-based child widgets.
173
174    \value AA_UseDesktopOpenGL Forces the usage of desktop OpenGL (for example,
175           \e opengl32.dll or \e libGL.so) on platforms that use dynamic loading
176           of the OpenGL implementation. This attribute must be set before
177           QGuiApplication is constructed.
178           This value was added in Qt 5.3.
179
180    \value AA_UseOpenGLES Forces the usage of OpenGL ES 2.0 or higher on
181           platforms that use dynamic loading of the OpenGL implementation.
182           This attribute must be set before QGuiApplication is constructed.
183           This value was added in Qt 5.3.
184
185    \value AA_UseSoftwareOpenGL Forces the usage of a software based OpenGL
186           implementation on platforms that use dynamic loading of the OpenGL
187           implementation. This will typically be a patched build of
188           \l{http://www.mesa3d.org/llvmpipe.html}{Mesa llvmpipe}, providing
189           OpenGL 2.1. The value may have no effect if no such OpenGL
190           implementation is available. The default name of this library is
191           \c opengl32sw.dll and can be overridden by setting the environment
192           variable \e QT_OPENGL_DLL. See the platform-specific pages, for
193           instance \l{Qt for Windows}, for more information. This attribute
194           must be set before QGuiApplication is constructed.
195           This value was added in Qt 5.4.
196
197    \value AA_ShareOpenGLContexts Enables resource sharing between the OpenGL
198           contexts used by classes like QOpenGLWidget and QQuickWidget. This
199           allows sharing OpenGL resources, like textures, between QOpenGLWidget
200           instances that belong to different top-level windows. This attribute
201           must be set before QGuiApplication is constructed.
202           This value was added in Qt 5.4.
203
204    \value AA_SetPalette Indicates whether a palette was explicitly set on the
205           QGuiApplication. This value was added in Qt 5.5.
206
207    \value AA_EnableHighDpiScaling Enables high-DPI scaling in Qt on supported
208           platforms (see also \l{High DPI Displays}). Supported platforms are
209           X11, Windows and Android. Enabling makes Qt scale the main (device
210           independent) coordinate system according to display scale factors
211           provided by the operating system. This corresponds to setting the
212           QT_AUTO_SCREEN\unicode{0x200b}_SCALE_FACTOR environment variable to
213           1. This attribute must be set before QGuiApplication is constructed.
214           This value was added in Qt 5.6.
215
216    \value AA_DisableHighDpiScaling Disables high-DPI scaling in Qt, exposing window
217           system coordinates. Note that the window system may do its own scaling,
218           so this does not guarantee that QPaintDevice::devicePixelRatio() will
219           be equal to 1. In addition, scale factors set by QT_SCALE_FACTOR will not
220           be affected. This corresponds to setting the
221           QT_AUTO_SCREEN\unicode{0x200b}_SCALE_FACTOR environment variable to 0.
222           This attribute must be set before QGuiApplication is constructed.
223           This value was added in Qt 5.6.
224
225    \value AA_UseStyleSheetPropagationInWidgetStyles By default, Qt Style Sheets
226           disable regular QWidget palette and font propagation. When this flag
227           is enabled, font and palette changes propagate as though the user had
228           manually called the corresponding QWidget methods. See
229           \l{The Style Sheet Syntax#Inheritance}{The Style Sheet Syntax - Inheritance}
230           for more details.
231           This value was added in Qt 5.7.
232
233    \value AA_DontUseNativeDialogs All dialogs created while this attribute is
234           set to true won't use the native dialogs provided by the platform.
235           This value was added in Qt 5.7.
236
237    \value AA_SynthesizeMouseForUnhandledTabletEvents All tablet events
238           that are not accepted by the application will be translated
239           to mouse events instead. This attribute is enabled
240           by default.
241           This value was added in Qt 5.7.
242
243    \value AA_CompressHighFrequencyEvents Enables compression of certain frequent events.
244           On the X11 windowing system, the default value is true, which means that
245           QEvent::MouseMove, QEvent::TouchUpdate, and changes in window size and
246           position will be combined whenever they occur more frequently than the
247           application handles them, so that they don't accumulate and overwhelm the
248           application later.
249           On Windows 8 and above the default value is also true, but it only applies
250           to touch events. Mouse and window events remain unaffected by this flag.
251           On other platforms, the default is false.
252           (In the future, the compression feature may be implemented across platforms.)
253           You can test the attribute to see whether compression is enabled.
254           If your application needs to handle all events with no compression,
255           you can unset this attribute. Notice that input events from tablet devices
256           will not be compressed. See AA_CompressTabletEvents if you want these to be
257           compressed as well.
258           This value was added in Qt 5.7.
259
260    \value AA_CompressTabletEvents Enables compression of input events from tablet devices.
261           Notice that AA_CompressHighFrequencyEvents must be true for events compression
262           to be enabled, and that this flag extends the former to tablet events.
263           Currently supported on the X11 windowing system, Windows 8 and above.
264           The default value is false.
265           This value was added in Qt 5.10.
266
267    \value AA_DontCheckOpenGLContextThreadAffinity When making a context
268           current using QOpenGLContext, do not check that the
269           \l{QObject#Thread Affinity}{QObject thread affinity}
270           of the QOpenGLContext object is the same thread calling
271           \l{QOpenGLContext::makeCurrent}{makeCurrent()}.
272           This value was added in Qt 5.8.
273
274    \value AA_DisableShaderDiskCache Disables caching of shader program binaries
275           on disk. By default Qt Quick, QPainter's OpenGL backend, and any
276           application using QOpenGLShaderProgram with one of its
277           \e addCacheableShaderFromSource overloads will employ a disk-based
278           \l{Caching Program Binaries}{program binary cache} in either the shared
279           or per-process cache storage location, on systems that support
280           \e glProgramBinary(). In the unlikely event of this being problematic,
281           set this attribute to disable all disk-based caching of shaders.
282
283    \value AA_DisableWindowContextHelpButton Disables the WindowContextHelpButtonHint
284           by default on Qt::Sheet and Qt::Dialog widgets. This hides the \gui ? button
285           on Windows, which only makes sense if you use \l QWhatsThis functionality.
286           This value was added in Qt 5.10. In Qt 6, WindowContextHelpButtonHint
287           will not be set by default.
288
289    \value AA_DisableSessionManager Disables the QSessionManager.
290           By default Qt will connect to a running session manager for a GUI
291           application on supported platforms, use of a session manager may be
292           redundant for system services.
293           This attribute must be set before QGuiApplication is constructed.
294           This value was added in 5.14
295
296    \value AA_DisableNativeVirtualKeyboard When this attribute is set, the native
297           on-screen virtual keyboard will not be shown automatically when a
298           text input widget gains focus on a system without a physical keyboard.
299           Currently supported on the Windows platform only.
300           This value was added in 5.15
301
302    The following values are deprecated or obsolete:
303
304    \value AA_ImmediateWidgetCreation This attribute is no longer fully
305           supported in Qt 5. It ensures that widgets are created
306           as soon as they are constructed. By default, resources for
307           widgets are allocated on demand to improve efficiency and
308           minimize resource usage. Setting or clearing this attribute
309           affects widgets constructed after the change. Setting it
310           tells Qt to create toplevel windows immediately.
311           Therefore, if it is important to minimize resource
312           consumption, do not set this attribute.
313
314    \value AA_MacPluginApplication This attribute has been deprecated.
315           Use AA_PluginApplication instead.
316
317    \value AA_MSWindowsUseDirect3DByDefault This value is obsolete and
318           has no effect.
319
320    \value AA_X11InitThreads This value is obsolete and has no effect.
321
322    \omitvalue AA_AttributeCount
323*/
324
325/*!
326    \enum Qt::MouseButton
327
328    This enum type describes the different mouse buttons.
329
330    \value NoButton        The button state does not refer to any
331           button (see QMouseEvent::button()).
332
333    \value AllButtons      This value corresponds to a mask of all
334           possible mouse buttons. Use to set the 'acceptedButtons'
335           property of a MouseArea to accept ALL mouse buttons.
336
337    \value LeftButton      The left button is pressed, or an event refers
338           to the left button. (The left button may be the right button on
339           left-handed mice.)
340    \value RightButton     The right button.
341    \value MiddleButton    The middle button.
342    \omitvalue MidButton
343
344    \value BackButton      The 'Back' button. (Typically present on
345           the 'thumb' side of a mouse with extra buttons. This is NOT
346           the tilt wheel.)
347    \value XButton1        The 'Back' Button.
348    \value ExtraButton1    The 'Back' Button.
349
350    \value ForwardButton   The 'Forward' Button. (Typically present
351           beside the 'Back' button, and also pressed by the thumb.)
352    \value XButton2        The 'Forward Button.
353    \value ExtraButton2    The 'Forward' Button.
354
355    \value TaskButton      The 'Task' Button.
356    \value ExtraButton3    The 'Task' Button.
357
358    \value ExtraButton4    The 7th non-wheel Mouse Button.
359    \value ExtraButton5    The 8th non-wheel Mouse Button.
360    \value ExtraButton6    The 9th non-wheel Mouse Button.
361    \value ExtraButton7    The 10th non-wheel Mouse Button.
362    \value ExtraButton8    The 11th non-wheel Mouse Button.
363    \value ExtraButton9    The 12th non-wheel Mouse Button.
364    \value ExtraButton10   The 13th non-wheel Mouse Button.
365    \value ExtraButton11   The 14th non-wheel Mouse Button.
366    \value ExtraButton12   The 15th non-wheel Mouse Button.
367    \value ExtraButton13   The 16th non-wheel Mouse Button.
368    \value ExtraButton14   The 17th non-wheel Mouse Button.
369    \value ExtraButton15   The 18th non-wheel Mouse Button.
370    \value ExtraButton16   The 19th non-wheel Mouse Button.
371    \value ExtraButton17   The 20th non-wheel Mouse Button.
372    \value ExtraButton18   The 21st non-wheel Mouse Button.
373    \value ExtraButton19   The 22nd non-wheel Mouse Button.
374    \value ExtraButton20   The 23rd non-wheel Mouse Button.
375    \value ExtraButton21   The 24th non-wheel Mouse Button.
376    \value ExtraButton22   The 25th non-wheel Mouse Button.
377    \value ExtraButton23   The 26th non-wheel Mouse Button.
378    \value ExtraButton24   The 27th non-wheel Mouse Button.
379
380    \omitvalue MaxMouseButton
381    \omitvalue MouseButtonMask
382
383    \note Some models of multi-button mice are pre-configured with
384    high-numbered Buttons emulating keyboard sequences, for use in
385    specific games. In order for these Buttons to be seen as
386    actual 'Mouse Buttons', the device must be re-configured (using
387    the vendor's configuration tool).
388
389    \sa KeyboardModifier, Modifier
390*/
391
392/*!
393    \enum Qt::KeyboardModifier
394
395    This enum describes the modifier keys.
396
397    \value NoModifier       No modifier key is pressed.
398    \value ShiftModifier    A Shift key on the keyboard is pressed.
399    \value ControlModifier  A Ctrl key on the keyboard is pressed.
400    \value AltModifier      An Alt key on the keyboard is pressed.
401    \value MetaModifier     A Meta key on the keyboard is pressed.
402    \value KeypadModifier   A keypad button is pressed.
403    \value GroupSwitchModifier X11 only (unless activated on Windows by a command line argument).
404                            A Mode_switch key on the keyboard is pressed.
405
406    \omitvalue KeyboardModifierMask
407
408    \note On \macos, the \c ControlModifier value corresponds to
409    the Command keys on the keyboard, and the \c MetaModifier value
410    corresponds to the Control keys. The \c KeypadModifier value will also be set
411    when an arrow key is pressed as the arrow keys are considered part of the
412    keypad.
413
414    \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
415    to the Windows key.
416
417    \sa MouseButton, Modifier
418*/
419
420/*!
421    \enum Qt::Modifier
422
423    This enum provides shorter names for the keyboard modifier keys
424    supported by Qt.
425
426    \note On \macos, the \c CTRL value corresponds to
427    the Command keys on the keyboard, and the \c META value
428    corresponds to the Control keys.
429
430    \value SHIFT The Shift keys provided on all standard keyboards.
431    \value META The Meta keys.
432    \value CTRL The Ctrl keys.
433    \value ALT The normal Alt keys, but not keys like AltGr.
434    \value UNICODE_ACCEL The shortcut is specified as a Unicode code
435    point, not as a Qt Key.
436    \omitvalue MODIFIER_MASK
437
438    \sa KeyboardModifier, MouseButton
439*/
440
441/*!
442    \enum Qt::GlobalColor
443
444    Qt's predefined QColor objects:
445
446    \value white       \span {id="color-white"} {White (#ffffff) }
447    \value black       \span {id="color-black"} {Black (#000000) }
448    \value red         \span {id="color-red"} {Red (#ff0000) }
449    \value darkRed     \span {id="color-darkRed"} {Dark red (#800000) }
450    \value green       \span {id="color-green"} {Green (#00ff00) }
451    \value darkGreen   \span {id="color-darkGreen"} {Dark green (#008000) }
452    \value blue        \span {id="color-blue"} {Blue (#0000ff) }
453    \value darkBlue    \span {id="color-darkBlue"} {Dark blue (#000080) }
454    \value cyan        \span {id="color-cyan"} {Cyan (#00ffff) }
455    \value darkCyan    \span {id="color-darkCyan"} {Dark cyan (#008080) }
456    \value magenta     \span {id="color-magenta"} {Magenta (#ff00ff) }
457    \value darkMagenta \span {id="color-darkMagenta"} {Dark magenta (#800080) }
458    \value yellow      \span {id="color-yellow"} {Yellow (#ffff00) }
459    \value darkYellow  \span {id="color-darkYellow"} {Dark yellow (#808000) }
460    \value gray        \span {id="color-gray"} {Gray (#a0a0a4) }
461    \value darkGray    \span {id="color-darkGray"} {Dark gray (#808080) }
462    \value lightGray   \span {id="color-lightGray"} {Light gray (#c0c0c0) }
463    \value transparent a transparent black value (i.e., QColor(0, 0, 0, 0))
464    \value color0 0 pixel value (for bitmaps)
465    \value color1 1 pixel value (for bitmaps)
466
467    \sa QColor
468
469*/
470
471/*!
472    \enum Qt::PenStyle
473
474    This enum type defines the pen styles that can be drawn using
475    QPainter. The styles are:
476
477    \table
478    \row
479    \li \inlineimage qpen-solid.png
480    \li \inlineimage qpen-dash.png
481    \li \inlineimage qpen-dot.png
482    \row
483    \li Qt::SolidLine
484    \li Qt::DashLine
485    \li Qt::DotLine
486    \row
487    \li \inlineimage qpen-dashdot.png
488    \li \inlineimage qpen-dashdotdot.png
489    \li \inlineimage qpen-custom.png
490    \row
491    \li Qt::DashDotLine
492    \li Qt::DashDotDotLine
493    \li Qt::CustomDashLine
494    \endtable
495
496    \value NoPen  no line at all. For example, QPainter::drawRect()
497    fills but does not draw any boundary line.
498
499    \value SolidLine  A plain line.
500    \value DashLine  Dashes separated by a few pixels.
501    \value DotLine  Dots separated by a few pixels.
502    \value DashDotLine  Alternate dots and dashes.
503    \value DashDotDotLine  One dash, two dots, one dash, two dots.
504    \value CustomDashLine  A custom pattern defined using
505                           QPainterPathStroker::setDashPattern().
506
507    \omitvalue MPenStyle
508
509    \sa QPen
510*/
511
512/*!
513    \enum Qt::PenCapStyle
514
515    This enum type defines the pen cap styles supported by Qt, i.e.
516    the line end caps that can be drawn using QPainter.
517
518    \table
519    \row
520    \li \inlineimage qpen-square.png
521    \li \inlineimage qpen-flat.png
522    \li \inlineimage qpen-roundcap.png
523    \row
524    \li Qt::SquareCap
525    \li Qt::FlatCap
526    \li Qt::RoundCap
527    \endtable
528
529    \value FlatCap  a square line end that does not cover the end
530        point of the line.
531    \value SquareCap  a square line end that covers the end point and
532        extends beyond it by half the line width.
533    \value RoundCap  a rounded line end.
534    \omitvalue MPenCapStyle
535
536    \sa QPen
537*/
538
539/*!
540    \enum Qt::PenJoinStyle
541
542    This enum type defines the pen join styles supported by Qt, i.e.
543    which joins between two connected lines can be drawn using
544    QPainter.
545
546    \table
547    \row
548    \li \inlineimage qpen-bevel.png
549    \li \inlineimage qpen-miter.png
550    \li \inlineimage qpen-roundjoin.png
551    \row
552    \li Qt::BevelJoin
553    \li Qt::MiterJoin
554    \li Qt::RoundJoin
555    \endtable
556
557    \value MiterJoin  The outer edges of the lines are extended to
558           meet at an angle, and this area is filled.
559    \value BevelJoin  The triangular notch between the two lines is filled.
560    \value RoundJoin  A circular arc between the two lines is filled.
561    \value SvgMiterJoin A miter join corresponding to the definition of
562           a miter join in the \l{http://www.w3.org/TR/SVGMobile12/}{SVG 1.2 Tiny} specification.
563    \omitvalue MPenJoinStyle
564
565    \sa QPen
566*/
567
568/*!
569    \enum Qt::BrushStyle
570
571    This enum type defines the brush styles supported by Qt, i.e. the
572    fill pattern of shapes drawn using QPainter.
573
574    \image brush-styles.png Brush Styles
575
576    \value NoBrush  No brush pattern.
577    \value SolidPattern  Uniform color.
578    \value Dense1Pattern  Extremely dense brush pattern.
579    \value Dense2Pattern  Very dense brush pattern.
580    \value Dense3Pattern  Somewhat dense brush pattern.
581    \value Dense4Pattern  Half dense brush pattern.
582    \value Dense5Pattern  Somewhat sparse brush pattern.
583    \value Dense6Pattern  Very sparse brush pattern.
584    \value Dense7Pattern  Extremely sparse brush pattern.
585    \value HorPattern  Horizontal lines.
586    \value VerPattern  Vertical lines.
587    \value CrossPattern  Crossing horizontal and vertical lines.
588    \value BDiagPattern  Backward diagonal lines.
589    \value FDiagPattern  Forward diagonal lines.
590    \value DiagCrossPattern  Crossing diagonal lines.
591    \value LinearGradientPattern  Linear gradient (set using a dedicated QBrush constructor).
592    \value ConicalGradientPattern  Conical gradient (set using a dedicated QBrush constructor).
593    \value RadialGradientPattern  Radial gradient (set using a dedicated QBrush constructor).
594    \value TexturePattern  Custom pattern (see QBrush::setTexture()).
595
596    \sa QBrush
597*/
598
599/*!
600    \enum Qt::TextFlag
601
602    This enum type is used to define some modifier flags. Some of
603    these flags only make sense in the context of printing:
604
605    \value TextSingleLine Treats all whitespace as spaces and prints just
606           one line.
607    \value TextDontClip If it's impossible to stay within the given bounds,
608           it prints outside.
609    \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
610           the next tab stop.
611    \value TextShowMnemonic Displays the string "\&P" as \underline{P}
612           For an ampersand, use "\&\&".
613    \value TextWordWrap Breaks lines at appropriate points, e.g. at word
614           boundaries.
615    \value TextWrapAnywhere Breaks lines anywhere, even within words.
616    \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw
617           the underlines.
618    \value TextDontPrint Treat this text as "hidden" and don't print it.
619    \value TextIncludeTrailingSpaces When this option is set,
620           QTextLine::naturalTextWidth() and QTextLine::naturalTextRect() will
621           return a value that includes the width of trailing spaces in the
622           text; otherwise this width is excluded.
623    \value TextJustificationForced Ensures that text lines are justified.
624
625    \omitvalue TextLongestVariant
626    \omitvalue TextBypassShaping
627    \omitvalue TextForceLeftToRight
628    \omitvalue TextForceRightToLeft
629
630    You can use as many modifier flags as you want, except that
631    Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
632
633    Flags that are inappropriate for a given use are generally
634    ignored.
635*/
636
637/*!
638    \enum Qt::BGMode
639
640    Background mode:
641
642    \value TransparentMode
643    \value OpaqueMode
644*/
645
646/*!
647    \enum Qt::ConnectionType
648
649    This enum describes the types of connection that can be used
650    between signals and slots. In particular, it determines whether a
651    particular signal is delivered to a slot immediately or queued for
652    delivery at a later time.
653
654    \value AutoConnection
655           \b (Default) If the receiver \l{QObject#Thread Affinity}{lives in} the
656           thread that emits the signal, Qt::DirectConnection is used. Otherwise,
657           Qt::QueuedConnection is used. The connection type is
658           determined when the signal is emitted.
659
660    \value DirectConnection
661           The slot is invoked immediately when the signal is
662           emitted. The slot is executed in the signalling thread.
663
664    \value QueuedConnection
665           The slot is invoked when control returns to the event loop
666           of the receiver's thread. The slot is executed in the
667           receiver's thread.
668
669    \value BlockingQueuedConnection
670           Same as Qt::QueuedConnection, except that the signalling thread blocks
671           until the slot returns. This connection must \e not be used if the
672           receiver lives in the signalling thread, or else the application
673           will deadlock.
674
675    \value UniqueConnection
676           This is a flag that can be combined with any one of the above
677           connection types, using a bitwise OR. When Qt::UniqueConnection is
678           set, QObject::connect() will fail if the connection already exists
679           (i.e. if the same signal is already connected to the same slot
680           for the same pair of objects). This flag was introduced in Qt 4.6.
681
682    With queued connections, the parameters must be of types that are
683    known to Qt's meta-object system, because Qt needs to copy the
684    arguments to store them in an event behind the scenes. If you try
685    to use a queued connection and get the error message:
686
687    \snippet code/doc_src_qnamespace.qdoc 0
688
689    Call qRegisterMetaType() to register the data type before you
690    establish the connection.
691
692    When using signals and slots with multiple threads, see \l{Signals and Slots Across Threads}.
693
694    \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType(), Q_DECLARE_METATYPE()
695*/
696
697/*!
698    \enum Qt::DateFormat
699
700    \value TextDate The default Qt format, which includes the day and month name,
701    the day number in the month, and the year in full. The day and month names will
702    be short, localized names. This is basically equivalent to using the date format
703    string, "ddd MMM d yyyy". See QDate::toString() for more information.
704
705    \value ISODate \l{ISO 8601} extended format: either \c{yyyy-MM-dd} for dates or
706    \c{yyyy-MM-ddTHH:mm:ss} (e.g. 2017-07-24T15:46:29), or with a time-zone
707    suffix (Z for UTC otherwise an offset as [+|-]HH:mm) where appropriate
708    for combined dates and times.
709
710    \value ISODateWithMs \l{ISO 8601} extended format, including milliseconds if applicable.
711
712    \value SystemLocaleShortDate \e{This enum value is deprecated and
713    shall be removed in Qt 6.} Use QLocale's methods for converting
714    dates and times to and from strings, with the
715    \l{QLocale::ShortFormat}{short format} of
716    \l{QLocale::system()}{the locale used by the operating system}.
717
718    \value SystemLocaleLongDate \e{This enum value is deprecated and
719    shall be removed in Qt 6.} Use QLocale's methods for converting
720    dates and times to and from strings, with the
721    \l{QLocale::LongFormat}{long format} of \l{QLocale::system()}{the
722    locale used by the operating system}.
723
724    \value DefaultLocaleShortDate \e{This enum value is deprecated and
725    shall be removed in Qt 6.} Use QLocale's methods for converting
726    dates and times to and from strings, with the
727    \l{QLocale::ShortFormat}{short format} of
728    \l{QLocale::setDefault()}{the application's locale}.
729
730    \value DefaultLocaleLongDate \e{This enum value is deprecated and
731    shall be removed in Qt 6.} Use QLocale's methods for converting
732    dates and times to and from strings, with the
733    \l{QLocale::LongFormat}{long format} \l{QLocale::setDefault()}{the
734    application's locale}.
735
736    \value SystemLocaleDate \e{This enum value is deprecated and shall
737    be removed in Qt 6.} It is equivalent to SystemLocaleShortDate.
738
739    \value LocaleDate \e{This enum value is deprecated and shall be
740    removed in Qt 6.} It is equivalent to DefaultLocaleShortDate.
741
742    \value LocalDate \e{This enum value is deprecated and shall be
743    removed in Qt 6.} It is equivalent to SystemLocaleShortDate.
744
745    \value RFC2822Date \l{RFC 2822}, \l{RFC 850} and \l{RFC 1036} format:
746    either \c{[ddd,] dd MMM yyyy [HH:mm[:ss]][ ±tzoff]}
747    or \c{ddd MMM dd[ HH:mm:ss] yyyy[ ±tzoff]} are recognized for combined dates
748    and times, where \c{tzoff} is a timezone offset in \c{HHmm} format. For
749    dates and times separately, the same formats are matched and the unwanted
750    parts are ignored. In particular, note that a time is not recognized without
751    an accompanying date. When converting dates to string form,
752    format \c{dd MMM yyyy} is used, for times the format is \c{HH:mm:ss}. For
753    combined date and time, these are combined
754    as \c{dd MMM yyyy HH:mm:ss ±tzoff} (omitting the optional leading day of the
755    week from the first format recognized).
756
757    \note For \c ISODate formats, each \c y, \c M and \c d represents a single
758    digit of the year, month, and day used to specify the date. Each \c H, \c m,
759    and \c s represents a single digit of the hour (up to 24), minute and second
760    used to specify the time. The presence of a literal \c T character is used
761    to separate the date and time when both are specified. For the \c
762    RFC2822Date format, MMM stands for the first three letters of the month name
763    in English, the other format characters have the same meaning as for the
764    ISODate format.
765*/
766
767
768/*!
769    \enum Qt::TimeSpec
770
771    \value LocalTime Locale dependent time (Timezones and Daylight Savings Time).
772    \value UTC Coordinated Universal Time, replaces Greenwich Mean Time.
773    \value OffsetFromUTC An offset in seconds from Coordinated Universal Time.
774    \value TimeZone A named time zone using a specific set of Daylight Savings rules.
775*/
776
777/*!
778    \enum Qt::DayOfWeek
779
780    \value Monday
781    \value Tuesday
782    \value Wednesday
783    \value Thursday
784    \value Friday
785    \value Saturday
786    \value Sunday
787*/
788
789/*!
790    \enum Qt::CaseSensitivity
791
792    \value CaseInsensitive
793    \value CaseSensitive
794*/
795
796/*!
797    \enum Qt::ToolBarArea
798
799    \value LeftToolBarArea
800    \value RightToolBarArea
801    \value TopToolBarArea
802    \value BottomToolBarArea
803    \value AllToolBarAreas
804    \value NoToolBarArea
805
806    \omitvalue ToolBarArea_Mask
807*/
808
809/*!
810    \enum Qt::DockWidgetArea
811
812    \value LeftDockWidgetArea
813    \value RightDockWidgetArea
814    \value TopDockWidgetArea
815    \value BottomDockWidgetArea
816    \value AllDockWidgetAreas
817    \value NoDockWidgetArea
818
819    \omitvalue DockWidgetArea_Mask
820*/
821
822/*!
823    \enum Qt::ImageConversionFlag
824
825    The options marked "(default)" are set if no other values from
826    the list are included (since the defaults are zero):
827
828    Color/Mono preference (ignored for QBitmap):
829
830    \value AutoColor (default) - If the image has \l{QImage::depth()}{depth} 1 and contains only
831           black and white pixels, the pixmap becomes monochrome.
832    \value ColorOnly The pixmap is dithered/converted to the
833           \l{QPixmap::defaultDepth()}{native display depth}.
834    \value MonoOnly The pixmap becomes monochrome. If necessary,
835           it is dithered using the chosen dithering algorithm.
836
837    Dithering mode preference:
838
839    \value DiffuseDither (default) - A high-quality dither using error diffusion.
840    \value OrderedDither A faster, ordered dither.
841    \value ThresholdDither No dithering; closest color is used.
842
843    Dithering mode preference for 1-bit alpha masks:
844
845    \value ThresholdAlphaDither (default) - No dithering.
846    \value OrderedAlphaDither A faster, ordered dither.
847    \value DiffuseAlphaDither A high-quality dither using error diffusion.
848    \omitvalue NoAlpha
849
850    Color matching versus dithering preference:
851
852    \value PreferDither Always dither images when converting to smaller color-spaces.
853    \value AvoidDither Only dither to indexed formats if the source image uses more
854           different colors than the size of the color table of the destination format.
855    \value AutoDither (default) - Only dither when down-converting to 1 or 8-bit indexed formats.
856
857    \omitvalue ColorMode_Mask
858    \omitvalue Dither_Mask
859    \omitvalue AlphaDither_Mask
860    \omitvalue DitherMode_Mask
861
862    \value NoOpaqueDetection Do not check whether the image contains non-opaque
863           pixels. Use this if you know that the image is semi-transparent and
864           you want to avoid the overhead of checking the pixels in the image
865           until a non-opaque pixel is found, or if you want the pixmap to
866           retain an alpha channel for some other reason. If the image has no
867           alpha channel this flag has no effect.
868
869    \value NoFormatConversion Don't do any format conversions on the image.
870           Can be useful when converting a QImage to a QPixmap for a one-time
871           rendering operation for example. Note that a QPixmap not in the
872           preferred format will be much slower as a paint device.
873*/
874
875/*!
876    \enum Qt::UIEffect
877
878    This enum describes the available UI effects.
879
880    By default, Qt will try to use the platform specific desktop
881    settings for each effect. Use the
882    QApplication::setDesktopSettingsAware() function (passing \c false
883    as argument) to prevent this, and the
884    QApplication::setEffectEnabled() to enable or disable a particular
885    effect.
886
887    Note that all effects are disabled on screens running at less than
888    16-bit color depth.
889
890    \omitvalue UI_General
891
892    \value UI_AnimateMenu Show animated menus.
893    \value UI_FadeMenu Show faded menus.
894    \value UI_AnimateCombo Show animated comboboxes.
895    \value UI_AnimateTooltip Show tooltip animations.
896    \value UI_FadeTooltip Show tooltip fading effects.
897    \value UI_AnimateToolBox Reserved
898
899    \sa QApplication::setEffectEnabled(), QGuiApplication::setDesktopSettingsAware()
900*/
901
902/*! \enum Qt::AspectRatioMode
903
904    This enum type defines what happens to the aspect ratio when
905    scaling an rectangle.
906
907    \image qimage-scaling.png
908
909    \value IgnoreAspectRatio  The size is scaled freely. The aspect
910                              ratio is not preserved.
911    \value KeepAspectRatio  The size is scaled to a rectangle as
912                            large as possible inside a given
913                            rectangle, preserving the aspect ratio.
914    \value KeepAspectRatioByExpanding  The size is scaled to a
915                                       rectangle as small as possible
916                                       outside a given rectangle,
917                                       preserving the aspect ratio.
918
919    \sa QSize::scale(), QImage::scaled()
920*/
921
922/*! \enum Qt::TransformationMode
923
924    This enum type defines whether image transformations (e.g.,
925    scaling) should be smooth or not.
926
927    \value FastTransformation  The transformation is performed
928                               quickly, with no smoothing.
929    \value SmoothTransformation  The resulting image is transformed
930                                 using bilinear filtering.
931
932    \sa QImage::scaled()
933*/
934
935/*! \enum Qt::Axis
936
937    This enum type defines three values to represent the three
938    axes in the cartesian coordinate system.
939
940    \value XAxis  The X axis.
941    \value YAxis  The Y axis.
942    \value ZAxis  The Z axis.
943
944    \sa QTransform::rotate(), QTransform::rotateRadians()
945 */
946
947/*!
948    \enum Qt::WidgetAttribute
949
950    \keyword widget attributes
951
952    This enum type is used to specify various widget attributes.
953    Attributes are set and cleared with QWidget::setAttribute(), and
954    queried with QWidget::testAttribute(), although some have special
955    convenience functions which are mentioned below.
956
957    \value WA_AcceptDrops Allows data from drag and drop operations
958    to be dropped onto the widget (see QWidget::setAcceptDrops()).
959
960    \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
961
962    \value WA_ContentsPropagated This flag is superfluous and
963    obsolete; it no longer has any effect. Since Qt 4.1, all widgets
964    that do not set WA_PaintOnScreen propagate their contents.
965
966    \value WA_CustomWhatsThis Indicates that the widget wants to
967    continue operating normally in "What's This?" mode. This is set by the
968    widget's author.
969
970    \value WA_DeleteOnClose Makes Qt delete this widget when the
971    widget has accepted the close event (see QWidget::closeEvent()).
972
973    \value WA_Disabled Indicates that the widget is disabled, i.e.
974    it does not receive any mouse or keyboard events. There is also a
975    getter functions QWidget::isEnabled().  This is set/cleared by the
976    Qt kernel.
977
978    \value WA_DontShowOnScreen Indicates that the widget is hidden or is
979    not a part of the viewable Desktop.
980
981    \omitvalue WA_DropSiteRegistered
982    \omitvalue WA_ForceAcceptDrops
983
984    \value WA_ForceDisabled Indicates that the widget is
985    explicitly disabled, i.e. it will remain disabled even when all
986    its ancestors are set to the enabled state. This implies
987    WA_Disabled. This is set/cleared by QWidget::setEnabled() and
988    QWidget::setDisabled().
989
990    \value WA_ForceUpdatesDisabled Indicates that updates are
991    explicitly disabled for the widget; i.e. it will remain disabled
992    even when all its ancestors are set to the updates-enabled state.
993    This implies WA_UpdatesDisabled. This is set/cleared by
994    QWidget::setUpdatesEnabled().
995
996    \value WA_GroupLeader
997        \e{This attribute has been deprecated.} Use QWidget::windowModality
998        instead.
999
1000    \value WA_Hover Forces Qt to generate paint events when the mouse
1001    enters or leaves the widget. This feature is typically used when
1002    implementing custom styles; see the \l{widgets/styles}{Styles}
1003    example for details.
1004
1005    \value WA_InputMethodEnabled Enables input methods for Asian languages.
1006    Must be set when creating custom text editing widgets.
1007
1008    \value WA_KeyboardFocusChange Set on a toplevel window when
1009    the users changes focus with the keyboard (tab, backtab, or shortcut).
1010
1011    \value WA_KeyCompression Enables key event compression if set,
1012    and disables it if not set. By default key compression is off, so
1013    widgets receive one key press event for each key press (or more,
1014    since autorepeat is usually on). If you turn it on and your
1015    program doesn't keep up with key input, Qt may try to compress key
1016    events so that more than one character can be processed in each
1017    event.
1018    For example, a word processor widget might receive 2, 3 or more
1019    characters in each QKeyEvent::text(), if the layout recalculation
1020    takes too long for the CPU.
1021    If a widget supports multiple character unicode input, it is
1022    always safe to turn the compression on.
1023    Qt performs key event compression only for printable characters.
1024    Qt::Modifier keys, cursor movement keys, function keys and
1025    miscellaneous action keys (e.g. Escape, Enter, Backspace,
1026    PrintScreen) will stop key event compression, even if there are
1027    more compressible key events available.
1028    Platforms other than Mac and X11 do not support this compression,
1029    in which case turning it on will have no effect.
1030    This is set/cleared by the widget's author.
1031
1032    \value WA_LayoutOnEntireRect Indicates that the widget
1033    wants QLayout to operate on the entire QWidget::rect(), not only
1034    on QWidget::contentsRect(). This is set by the widget's author.
1035
1036    \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
1037    when laying out this widget with QLayout.
1038
1039    \value WA_MacNoClickThrough This value is obsolete and has no effect.
1040
1041    \value WA_MacOpaqueSizeGrip Indicates that the native size grip
1042    should be opaque instead of transparent (the default). This attribute
1043    is only applicable to \macos and is set by the widget's author.
1044
1045    \value WA_MacShowFocusRect Indicates that this widget should get a
1046    QFocusFrame around it. Some widgets draw their own focus halo
1047    regardless of this attribute. Not that the QWidget::focusPolicy
1048    also plays the main role in whether something is given focus or
1049    not, this only controls whether or not this gets the focus
1050    frame. This attribute is only applicable to \macos.
1051
1052    \value WA_MacNormalSize Indicates the widget should have the
1053    normal size for widgets in \macos. This attribute is only
1054    applicable to \macos.
1055
1056    \value WA_MacSmallSize Indicates the widget should have the small
1057    size for widgets in \macos. This attribute is only applicable to
1058    \macos.
1059
1060    \value WA_MacMiniSize Indicates the widget should have the mini
1061    size for widgets in \macos. This attribute is only applicable to
1062    \macos.
1063
1064    \value WA_MacVariableSize Indicates the widget can choose between
1065    alternative sizes for widgets to avoid clipping.
1066    This attribute is only applicable to \macos.
1067
1068    \value WA_MacBrushedMetal This value is obsolete and has no effect.
1069
1070    \omitvalue WA_MacMetalStyle
1071
1072    \value WA_Mapped Indicates that the widget is mapped on screen.
1073    This is set/cleared by the Qt kernel.
1074
1075    \value WA_MouseNoMask Makes the widget receive mouse events for
1076    the entire widget regardless of the currently set mask,
1077    overriding QWidget::setMask(). This is not applicable for
1078    top-level windows.
1079
1080    \value WA_MouseTracking Indicates that the widget has mouse
1081    tracking enabled. See QWidget::mouseTracking.
1082
1083    \value WA_Moved Indicates that the widget has an explicit
1084    position. This is set/cleared by QWidget::move() and
1085    by QWidget::setGeometry().
1086
1087    \value WA_MSWindowsUseDirect3D This value is obsolete and has no
1088    effect.
1089
1090    \value WA_NoBackground This value is obsolete. Use
1091    WA_OpaquePaintEvent instead.
1092
1093    \value WA_NoChildEventsForParent Indicates that the widget does
1094    not want ChildAdded or ChildRemoved events sent to its
1095    parent. This is rarely necessary but can help to avoid automatic
1096    insertion widgets like splitters and layouts. This is set by a
1097    widget's author.
1098
1099    \value WA_NoChildEventsFromChildren Indicates that the widget does
1100    not want to receive ChildAdded or ChildRemoved events sent from its
1101    children. This is set by a widget's author.
1102
1103    \value WA_NoMouseReplay Used for pop-up widgets. Indicates that the most
1104    recent mouse press event should not be replayed when the pop-up widget
1105    closes. The flag is set by the widget's author and cleared by the Qt kernel
1106    every time the widget receives a new mouse event.
1107
1108    \value WA_NoMousePropagation Prohibits mouse events from being propagated
1109    to the widget's parent. This attribute is disabled by default.
1110
1111    \value WA_TransparentForMouseEvents When enabled, this attribute disables
1112    the delivery of mouse events to the widget and its children. Mouse events
1113    are delivered to other widgets as if the widget and its children were not
1114    present in the widget hierarchy; mouse clicks and other events effectively
1115    "pass through" them. This attribute is disabled by default.
1116
1117    \value WA_NoSystemBackground Indicates that the widget has no background,
1118    i.e. when the widget receives paint events, the background is not
1119    automatically repainted. \b Note: Unlike WA_OpaquePaintEvent, newly exposed
1120    areas are \b never filled with the background (e.g., after showing a
1121    window for the first time the user can see "through" it until the
1122    application processes the paint events). This flag is set or cleared by the
1123    widget's author.
1124
1125    \value WA_OpaquePaintEvent Indicates that the widget paints all its pixels
1126    when it receives a paint event. Thus, it is not required for operations
1127    like updating, resizing, scrolling and focus changes to erase the widget
1128    before generating paint events. The use of WA_OpaquePaintEvent provides a
1129    small optimization by helping to reduce flicker on systems that do not
1130    support double buffering and avoiding computational cycles necessary to
1131    erase the background prior to painting. \b Note: Unlike
1132    WA_NoSystemBackground, WA_OpaquePaintEvent makes an effort to avoid
1133    transparent window backgrounds. This flag is set or cleared by the widget's
1134    author.
1135
1136    \value WA_OutsideWSRange Indicates that the widget is outside
1137    the valid range of the window system's coordinate system. A widget
1138    outside the valid range cannot be mapped on screen. This is
1139    set/cleared by the Qt kernel.
1140
1141    \value WA_PaintOnScreen Indicates that the widget wants to draw directly
1142    onto the screen. Widgets with this attribute set do not participate in
1143    composition management, i.e. they cannot be semi-transparent or shine
1144    through semi-transparent overlapping widgets. \b Note: This flag is only
1145    supported on X11 and it disables double buffering. On Qt for Embedded
1146    Linux, the flag only works when set on a top-level widget and it relies on
1147    support from the active screen driver. This flag is set or cleared by the
1148    widget's author. To render outside of Qt's paint system, e.g., if you
1149    require native painting primitives, you need to reimplement
1150    QWidget::paintEngine() to return 0 and set this flag.
1151
1152    \value WA_PaintUnclipped Makes all painters operating on this widget
1153    unclipped. Children of this widget or other widgets in front of it do not
1154    clip the area the painter can paint on. This flag is only supported for
1155    widgets with the WA_PaintOnScreen flag set. The preferred way to do this in
1156    a cross platform way is to create a transparent widget that lies in front
1157    of the other widgets.
1158
1159    \value WA_PendingMoveEvent Indicates that a move event is pending, e.g.,
1160    when a hidden widget was moved. This flag is set or cleared by the Qt
1161    kernel.
1162
1163    \value WA_PendingResizeEvent Indicates that a resize event is pending,
1164    e.g., when a hidden widget was resized. This flag is set or cleared by the
1165    Qt kernel.
1166
1167    \value WA_QuitOnClose Makes Qt quit the application when the last widget
1168    with the attribute set has accepted closeEvent(). This behavior can be
1169    modified with the QApplication::quitOnLastWindowClosed property. By default
1170    this attribute is set for all widgets of type Qt::Window.
1171
1172    \value WA_Resized Indicates that the widget has an explicit size. This flag
1173    is set or cleared by QWidget::resize() and QWidget::setGeometry().
1174
1175    \value WA_RightToLeft Indicates that the layout direction for the widget
1176    is right to left.
1177
1178    \value WA_SetCursor Indicates that the widget has a cursor of its own. This
1179    flag is set or cleared by QWidget::setCursor() and QWidget::unsetCursor().
1180
1181    \value WA_SetFont Indicates that the widget has a font of its own. This
1182    flag is set or cleared by QWidget::setFont().
1183
1184    \value WA_SetPalette Indicates that the widget has a palette of its own.
1185    This flag is set or cleared by QWidget::setPalette().
1186
1187    \value WA_SetStyle Indicates that the widget has a style of its own. This
1188    flag is set or cleared by QWidget::setStyle().
1189
1190    \value WA_ShowModal \e{This attribute has been deprecated.} Use
1191    QWidget::windowModality instead.
1192
1193    \value WA_StaticContents Indicates that the widget contents are north-west
1194    aligned and static. On resize, such a widget will receive paint events only
1195    for parts of itself that are newly visible. This flag is set or cleared by
1196    the widget's author.
1197
1198    \value WA_StyleSheet Indicates that the widget is styled using a
1199    \l{Qt Style Sheets}{style sheet}. WA_StyleSheet is set whenever a widget
1200    is subject to a style sheet, even if the style sheet did not affect the
1201    widget appearance.
1202
1203    \value WA_StyleSheetTarget Indicates that the widget appearance was modified
1204    by a \l{Qt Style Sheets}{style sheet}. WA_StyleSheet will also be set.
1205    This value was introduced in Qt 5.12.
1206
1207    \value WA_TabletTracking Indicates that the widget has tablet
1208    tracking enabled. See QWidget::tabletTracking.
1209
1210    \value WA_TranslucentBackground Indicates that the widget should have a
1211    translucent background, i.e., any non-opaque regions of the widgets will be
1212    translucent because the widget will have an alpha channel. Setting this
1213    flag causes WA_NoSystemBackground to be set. On Windows the
1214    widget also needs the Qt::FramelessWindowHint window flag to be set.
1215    This flag is set or cleared by the widget's author.
1216
1217    \value WA_UnderMouse Indicates that the widget is under the mouse cursor.
1218    The value is not updated correctly during drag and drop operations. There
1219    is also a getter function, QWidget::underMouse(). This flag is set or
1220    cleared by the Qt kernel.
1221
1222    \value WA_UpdatesDisabled Indicates that updates are blocked (including the
1223    system background). This flag is set or cleared by the Qt kernel.
1224    \b Warning: This flag must \e never be set or cleared by the widget's author.
1225
1226    \value WA_WindowModified Indicates that the window is marked as modified.
1227    On some platforms this flag will do nothing, on others (including \macos
1228    and Windows) the window will take a modified appearance. This flag is set
1229    or cleared by QWidget::setWindowModified().
1230
1231    \value WA_WindowPropagation Makes a toplevel window inherit font, palette
1232    and locale from its parent.
1233
1234    \value WA_MacAlwaysShowToolWindow On \macos, show the tool window even
1235    when the application is not active.  By default, all tool windows are
1236    hidden when the application is inactive.
1237
1238    \value WA_SetLocale Indicates the locale should be taken into consideration
1239    in the widget.
1240
1241    \value WA_StyledBackground Indicates the widget should be drawn using a
1242    styled background.
1243
1244    \value WA_ShowWithoutActivating Show the widget without making it active.
1245
1246    \value WA_NativeWindow Indicates that a native window is created for the
1247    widget. Enabling this flag will also force a native window for the widget's
1248    ancestors unless Qt::WA_DontCreateNativeAncestors is set.
1249
1250    \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
1251    are kept non-native even though the widget itself is native.
1252
1253    \value WA_X11NetWmWindowTypeDesktop Adds _NET_WM_WINDOW_TYPE_DESKTOP to the
1254    window's _NET_WM_WINDOW_TYPE X11 window property. See
1255    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1256    has no effect on non-X11 platforms.
1257
1258    \value WA_X11NetWmWindowTypeDock Adds _NET_WM_WINDOW_TYPE_DOCK to the
1259    window's _NET_WM_WINDOW_TYPE X11 window property. See
1260    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1261    has no effect on non-X11 platforms.
1262
1263    \value WA_X11NetWmWindowTypeToolBar Adds _NET_WM_WINDOW_TYPE_TOOLBAR to the
1264    window's _NET_WM_WINDOW_TYPE X11 window property. See
1265    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1266    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1267    attribute for QToolBar.
1268
1269    \value WA_X11NetWmWindowTypeMenu Adds _NET_WM_WINDOW_TYPE_MENU to the
1270    window's _NET_WM_WINDOW_TYPE X11 window property. See
1271    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1272    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1273    attribute for QMenu when torn-off.
1274
1275    \value WA_X11NetWmWindowTypeUtility Adds _NET_WM_WINDOW_TYPE_UTILITY to the
1276    window's _NET_WM_WINDOW_TYPE X11 window property. See
1277    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1278    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1279    attribute for the Qt::Tool window type.
1280
1281    \value WA_X11NetWmWindowTypeSplash Adds _NET_WM_WINDOW_TYPE_SPLASH to the
1282    window's _NET_WM_WINDOW_TYPE X11 window property. See
1283    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1284    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1285    attribute for the Qt::SplashScreen window type.
1286
1287    \value WA_X11NetWmWindowTypeDialog Adds _NET_WM_WINDOW_TYPE_DIALOG
1288    to the window's _NET_WM_WINDOW_TYPE X11 window property. See
1289    http://standards.freedesktop.org/wm-spec/ for more details. This
1290    attribute has no effect on non-X11 platforms. \b Note: Qt automatically sets
1291    this attribute for the Qt::Dialog and Qt::Sheet window types.
1292
1293    \value WA_X11NetWmWindowTypeDropDownMenu Adds
1294    _NET_WM_WINDOW_TYPE_DROPDOWN_MENU to the window's
1295    _NET_WM_WINDOW_TYPE X11 window property. See
1296    http://standards.freedesktop.org/wm-spec/ for more details. This
1297    attribute has no effect on non-X11 platforms. \b Note: Qt
1298    automatically sets this attribute for QMenu objects added to a QMenuBar.
1299
1300    \value WA_X11NetWmWindowTypePopupMenu Adds _NET_WM_WINDOW_TYPE_POPUP_MENU
1301    to the window's _NET_WM_WINDOW_TYPE X11 window property. See
1302    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1303    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1304    attribute for QMenu.
1305
1306    \value WA_X11NetWmWindowTypeToolTip Adds _NET_WM_WINDOW_TYPE_TOOLTIP to the
1307    window's _NET_WM_WINDOW_TYPE X11 window property. See
1308    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1309    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1310    attribute for the Qt::ToolTip window type.
1311
1312    \value WA_X11NetWmWindowTypeNotification Adds
1313    _NET_WM_WINDOW_TYPE_NOTIFICATION to the window's _NET_WM_WINDOW_TYPE X11
1314    window property. See http://standards.freedesktop.org/wm-spec/ for more
1315    details. This attribute has no effect on non-X11 platforms.
1316
1317    \value WA_X11NetWmWindowTypeCombo Adds _NET_WM_WINDOW_TYPE_COMBO
1318    to the window's _NET_WM_WINDOW_TYPE X11 window property. See
1319    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1320    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1321    attribute for the QComboBox pop-up.
1322
1323    \value WA_X11NetWmWindowTypeDND Adds _NET_WM_WINDOW_TYPE_DND to
1324    the window's _NET_WM_WINDOW_TYPE X11 window property. See
1325    http://standards.freedesktop.org/wm-spec/ for more details. This attribute
1326    has no effect on non-X11 platforms. \b Note: Qt automatically sets this
1327    attribute on the feedback widget used during a drag.
1328
1329    \value WA_MacFrameworkScaled This value is obsolete and has no effect.
1330
1331    \value WA_AcceptTouchEvents Allows touch events (see QTouchEvent)
1332    to be sent to the widget. Must be set on all widgets that can
1333    handle touch events. Without this attribute set, events from a
1334    touch device will be sent as mouse events.
1335
1336    \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single
1337    touch events to be sent to the widget.
1338
1339    \value WA_X11DoNotAcceptFocus Asks the window manager to not give focus
1340    to this top level window. This attribute has no effect on non-X11
1341    platforms.
1342
1343    \value WA_AlwaysStackOnTop Since Qt 5.4, this value forces QOpenGLWidget and
1344    QQuickWidget to be drawn last, on top of other widgets. Ignored for other
1345    type of widgets. Setting this attribute breaks the stacking order, but
1346    allows having a semi-transparent OpenGL widget with other widgets visible
1347    underneath. It is strongly recommended to call update() on the widget's
1348    top-level window after enabling or disabling this attribute.
1349
1350    \omitvalue WA_SetLayoutDirection
1351    \omitvalue WA_InputMethodTransparent
1352    \omitvalue WA_WState_CompressKeys
1353    \omitvalue WA_WState_ConfigPending
1354    \omitvalue WA_WState_Created
1355    \omitvalue WA_WState_DND
1356    \omitvalue WA_WState_ExplicitShowHide
1357    \omitvalue WA_WState_Hidden
1358    \omitvalue WA_WState_InPaintEvent
1359    \omitvalue WA_WState_OwnSizePolicy
1360    \omitvalue WA_WState_Polished
1361    \omitvalue WA_WState_Reparented
1362    \omitvalue WA_WState_Visible
1363    \omitvalue WA_SetWindowIcon
1364    \omitvalue WA_PendingUpdate
1365    \omitvalue WA_LaidOut
1366    \omitvalue WA_GrabbedShortcut
1367    \omitvalue WA_DontShowOnScreen
1368    \omitvalue WA_InvalidSize
1369    \omitvalue WA_ForceUpdatesDisabled
1370    \omitvalue WA_NoX11EventCompression
1371    \omitvalue WA_TintedBackground
1372    \omitvalue WA_X11OpenGLOverlay
1373    \omitvalue WA_CanHostQMdiSubWindowTitleBar
1374    \omitvalue WA_AttributeCount
1375    \omitvalue WA_StyleSheet
1376    \omitvalue WA_X11BypassTransientForHint
1377    \omitvalue WA_SetWindowModality
1378    \omitvalue WA_WState_WindowOpacitySet
1379    \omitvalue WA_WState_AcceptedTouchBeginEvent
1380    \omitvalue WA_MacNoShadow
1381    \value WA_ContentsMarginsRespectsSafeArea A QWidget respects the safe
1382    area margins of a window by incorporating the margins into its contents'
1383    margins by default. This means, that a QLayout will use the content area
1384    of a widget for its layout, unless the Qt::WA_LayoutOnEntireRect attribute
1385    is set. This along with a contents margin of 0 can be used on the actual
1386    layout, to allow for example a background image to underlay the status bar and other
1387    system areas on an iOS device, while still allowing child widgets of
1388    that background to be inset based on the safe area.
1389*/
1390
1391/*! \typedef Qt::HANDLE
1392
1393    A handle type for system objects, defined as \c{void *}
1394    on all platforms.
1395*/
1396
1397/*!
1398    \enum Qt::Key
1399
1400    The key names used by Qt.
1401
1402    \value Key_Escape
1403    \value Key_Tab
1404    \value Key_Backtab
1405    \value Key_Backspace
1406    \value Key_Return
1407    \value Key_Enter     Typically located on the keypad.
1408    \value Key_Insert
1409    \value Key_Delete
1410    \value Key_Pause    The Pause/Break key (\b Note: Not related to pausing media)
1411    \value Key_Print
1412    \value Key_SysReq
1413    \value Key_Clear    Corresponds to the \b Clear key on selected Apple
1414                        keyboard models. On other systems it is commonly mapped
1415                        to the numeric keypad key \b 5, when \b {Num Lock} is
1416                        \c off.
1417    \value Key_Home
1418    \value Key_End
1419    \value Key_Left
1420    \value Key_Up
1421    \value Key_Right
1422    \value Key_Down
1423    \value Key_PageUp
1424    \value Key_PageDown
1425    \value Key_Shift
1426    \value Key_Control    On \macos, this corresponds to the Command keys.
1427    \value Key_Meta       On \macos, this corresponds to the Control keys.
1428                          On Windows keyboards, this key is mapped to the
1429                          Windows key.
1430    \value Key_Alt
1431    \value Key_AltGr      On Windows, when the KeyDown event for this key is
1432                          sent, the Ctrl+Alt modifiers are also set.
1433    \value Key_CapsLock
1434    \value Key_NumLock
1435    \value Key_ScrollLock
1436    \value Key_F1
1437    \value Key_F2
1438    \value Key_F3
1439    \value Key_F4
1440    \value Key_F5
1441    \value Key_F6
1442    \value Key_F7
1443    \value Key_F8
1444    \value Key_F9
1445    \value Key_F10
1446    \value Key_F11
1447    \value Key_F12
1448    \value Key_F13
1449    \value Key_F14
1450    \value Key_F15
1451    \value Key_F16
1452    \value Key_F17
1453    \value Key_F18
1454    \value Key_F19
1455    \value Key_F20
1456    \value Key_F21
1457    \value Key_F22
1458    \value Key_F23
1459    \value Key_F24
1460    \value Key_F25
1461    \value Key_F26
1462    \value Key_F27
1463    \value Key_F28
1464    \value Key_F29
1465    \value Key_F30
1466    \value Key_F31
1467    \value Key_F32
1468    \value Key_F33
1469    \value Key_F34
1470    \value Key_F35
1471    \value Key_Super_L
1472    \value Key_Super_R
1473    \value Key_Menu
1474    \value Key_Hyper_L
1475    \value Key_Hyper_R
1476    \value Key_Help
1477    \value Key_Direction_L
1478    \value Key_Direction_R
1479    \value Key_Space
1480    \value Key_Any
1481    \value Key_Exclam
1482    \value Key_QuoteDbl
1483    \value Key_NumberSign
1484    \value Key_Dollar
1485    \value Key_Percent
1486    \value Key_Ampersand
1487    \value Key_Apostrophe
1488    \value Key_ParenLeft
1489    \value Key_ParenRight
1490    \value Key_Asterisk
1491    \value Key_Plus
1492    \value Key_Comma
1493    \value Key_Minus
1494    \value Key_Period
1495    \value Key_Slash
1496    \value Key_0
1497    \value Key_1
1498    \value Key_2
1499    \value Key_3
1500    \value Key_4
1501    \value Key_5
1502    \value Key_6
1503    \value Key_7
1504    \value Key_8
1505    \value Key_9
1506    \value Key_Colon
1507    \value Key_Semicolon
1508    \value Key_Less
1509    \value Key_Equal
1510    \value Key_Greater
1511    \value Key_Question
1512    \value Key_At
1513    \value Key_A
1514    \value Key_B
1515    \value Key_C
1516    \value Key_D
1517    \value Key_E
1518    \value Key_F
1519    \value Key_G
1520    \value Key_H
1521    \value Key_I
1522    \value Key_J
1523    \value Key_K
1524    \value Key_L
1525    \value Key_M
1526    \value Key_N
1527    \value Key_O
1528    \value Key_P
1529    \value Key_Q
1530    \value Key_R
1531    \value Key_S
1532    \value Key_T
1533    \value Key_U
1534    \value Key_V
1535    \value Key_W
1536    \value Key_X
1537    \value Key_Y
1538    \value Key_Z
1539    \value Key_BracketLeft
1540    \value Key_Backslash
1541    \value Key_BracketRight
1542    \value Key_AsciiCircum
1543    \value Key_Underscore
1544    \value Key_QuoteLeft
1545    \value Key_BraceLeft
1546    \value Key_Bar
1547    \value Key_BraceRight
1548    \value Key_AsciiTilde
1549    \value Key_nobreakspace
1550    \value Key_exclamdown
1551    \value Key_cent
1552    \value Key_sterling
1553    \value Key_currency
1554    \value Key_yen
1555    \value Key_brokenbar
1556    \value Key_section
1557    \value Key_diaeresis
1558    \value Key_copyright
1559    \value Key_ordfeminine
1560    \value Key_guillemotleft
1561    \value Key_notsign
1562    \value Key_hyphen
1563    \value Key_registered
1564    \value Key_macron
1565    \value Key_degree
1566    \value Key_plusminus
1567    \value Key_twosuperior
1568    \value Key_threesuperior
1569    \value Key_acute
1570    \value Key_mu
1571    \value Key_paragraph
1572    \value Key_periodcentered
1573    \value Key_cedilla
1574    \value Key_onesuperior
1575    \value Key_masculine
1576    \value Key_guillemotright
1577    \value Key_onequarter
1578    \value Key_onehalf
1579    \value Key_threequarters
1580    \value Key_questiondown
1581    \value Key_Agrave
1582    \value Key_Aacute
1583    \value Key_Acircumflex
1584    \value Key_Atilde
1585    \value Key_Adiaeresis
1586    \value Key_Aring
1587    \value Key_AE
1588    \value Key_Ccedilla
1589    \value Key_Egrave
1590    \value Key_Eacute
1591    \value Key_Ecircumflex
1592    \value Key_Ediaeresis
1593    \value Key_Igrave
1594    \value Key_Iacute
1595    \value Key_Icircumflex
1596    \value Key_Idiaeresis
1597    \value Key_ETH
1598    \value Key_Ntilde
1599    \value Key_Ograve
1600    \value Key_Oacute
1601    \value Key_Ocircumflex
1602    \value Key_Otilde
1603    \value Key_Odiaeresis
1604    \value Key_multiply
1605    \value Key_Ooblique
1606    \value Key_Ugrave
1607    \value Key_Uacute
1608    \value Key_Ucircumflex
1609    \value Key_Udiaeresis
1610    \value Key_Yacute
1611    \value Key_THORN
1612    \value Key_ssharp
1613    \value Key_division
1614    \value Key_ydiaeresis
1615    \value Key_Multi_key
1616    \value Key_Codeinput
1617    \value Key_SingleCandidate
1618    \value Key_MultipleCandidate
1619    \value Key_PreviousCandidate
1620    \value Key_Mode_switch
1621    \value Key_Kanji
1622    \value Key_Muhenkan
1623    \value Key_Henkan
1624    \value Key_Romaji
1625    \value Key_Hiragana
1626    \value Key_Katakana
1627    \value Key_Hiragana_Katakana
1628    \value Key_Zenkaku
1629    \value Key_Hankaku
1630    \value Key_Zenkaku_Hankaku
1631    \value Key_Touroku
1632    \value Key_Massyo
1633    \value Key_Kana_Lock
1634    \value Key_Kana_Shift
1635    \value Key_Eisu_Shift
1636    \value Key_Eisu_toggle
1637    \value Key_Hangul
1638    \value Key_Hangul_Start
1639    \value Key_Hangul_End
1640    \value Key_Hangul_Hanja
1641    \value Key_Hangul_Jamo
1642    \value Key_Hangul_Romaja
1643    \value Key_Hangul_Jeonja
1644    \value Key_Hangul_Banja
1645    \value Key_Hangul_PreHanja
1646    \value Key_Hangul_PostHanja
1647    \value Key_Hangul_Special
1648    \value Key_Dead_Grave
1649    \value Key_Dead_Acute
1650    \value Key_Dead_Circumflex
1651    \value Key_Dead_Tilde
1652    \value Key_Dead_Macron
1653    \value Key_Dead_Breve
1654    \value Key_Dead_Abovedot
1655    \value Key_Dead_Diaeresis
1656    \value Key_Dead_Abovering
1657    \value Key_Dead_Doubleacute
1658    \value Key_Dead_Caron
1659    \value Key_Dead_Cedilla
1660    \value Key_Dead_Ogonek
1661    \value Key_Dead_Iota
1662    \value Key_Dead_Voiced_Sound
1663    \value Key_Dead_Semivoiced_Sound
1664    \value Key_Dead_Belowdot
1665    \value Key_Dead_Hook
1666    \value Key_Dead_Horn
1667    \value Key_Dead_Stroke
1668    \value Key_Dead_Abovecomma
1669    \value Key_Dead_Abovereversedcomma
1670    \value Key_Dead_Doublegrave
1671    \value Key_Dead_Belowring
1672    \value Key_Dead_Belowmacron
1673    \value Key_Dead_Belowcircumflex
1674    \value Key_Dead_Belowtilde
1675    \value Key_Dead_Belowbreve
1676    \value Key_Dead_Belowdiaeresis
1677    \value Key_Dead_Invertedbreve
1678    \value Key_Dead_Belowcomma
1679    \value Key_Dead_Currency
1680    \value Key_Dead_a
1681    \value Key_Dead_A
1682    \value Key_Dead_e
1683    \value Key_Dead_E
1684    \value Key_Dead_i
1685    \value Key_Dead_I
1686    \value Key_Dead_o
1687    \value Key_Dead_O
1688    \value Key_Dead_u
1689    \value Key_Dead_U
1690    \value Key_Dead_Small_Schwa
1691    \value Key_Dead_Capital_Schwa
1692    \value Key_Dead_Greek
1693    \value Key_Dead_Lowline
1694    \value Key_Dead_Aboveverticalline
1695    \value Key_Dead_Belowverticalline
1696    \value Key_Dead_Longsolidusoverlay
1697    \value Key_Back
1698    \value Key_Forward
1699    \value Key_Stop
1700    \value Key_Refresh
1701    \value Key_VolumeDown
1702    \value Key_VolumeMute
1703    \value Key_VolumeUp
1704    \value Key_BassBoost
1705    \value Key_BassUp
1706    \value Key_BassDown
1707    \value Key_TrebleUp
1708    \value Key_TrebleDown
1709    \value Key_MediaPlay    A key setting the state of the media player to play
1710    \value Key_MediaStop    A key setting the state of the media player to stop
1711    \value Key_MediaPrevious
1712    \value Key_MediaNext
1713    \value Key_MediaRecord
1714    \value Key_MediaPause   A key setting the state of the media player to pause (\b Note: not the pause/break key)
1715    \value Key_MediaTogglePlayPause   A key to toggle the play/pause state in the media player (rather than setting an absolute state)
1716    \value Key_HomePage
1717    \value Key_Favorites
1718    \value Key_Search
1719    \value Key_Standby
1720    \value Key_OpenUrl
1721    \value Key_LaunchMail
1722    \value Key_LaunchMedia
1723    \value Key_Launch0 On X11 this key is mapped to "My Computer" (XF86XK_MyComputer) key for legacy reasons.
1724    \value Key_Launch1 On X11 this key is mapped to "Calculator" (XF86XK_Calculator) key for legacy reasons.
1725    \value Key_Launch2 On X11 this key is mapped to XF86XK_Launch0 key for legacy reasons.
1726    \value Key_Launch3 On X11 this key is mapped to XF86XK_Launch1 key for legacy reasons.
1727    \value Key_Launch4 On X11 this key is mapped to XF86XK_Launch2 key for legacy reasons.
1728    \value Key_Launch5 On X11 this key is mapped to XF86XK_Launch3 key for legacy reasons.
1729    \value Key_Launch6 On X11 this key is mapped to XF86XK_Launch4 key for legacy reasons.
1730    \value Key_Launch7 On X11 this key is mapped to XF86XK_Launch5 key for legacy reasons.
1731    \value Key_Launch8 On X11 this key is mapped to XF86XK_Launch6 key for legacy reasons.
1732    \value Key_Launch9 On X11 this key is mapped to XF86XK_Launch7 key for legacy reasons.
1733    \value Key_LaunchA On X11 this key is mapped to XF86XK_Launch8 key for legacy reasons.
1734    \value Key_LaunchB On X11 this key is mapped to XF86XK_Launch9 key for legacy reasons.
1735    \value Key_LaunchC On X11 this key is mapped to XF86XK_LaunchA key for legacy reasons.
1736    \value Key_LaunchD On X11 this key is mapped to XF86XK_LaunchB key for legacy reasons.
1737    \value Key_LaunchE On X11 this key is mapped to XF86XK_LaunchC key for legacy reasons.
1738    \value Key_LaunchF On X11 this key is mapped to XF86XK_LaunchD key for legacy reasons.
1739    \value Key_LaunchG On X11 this key is mapped to XF86XK_LaunchE key for legacy reasons.
1740    \value Key_LaunchH On X11 this key is mapped to XF86XK_LaunchF key for legacy reasons.
1741    \value Key_MonBrightnessUp
1742    \value Key_MonBrightnessDown
1743    \value Key_KeyboardLightOnOff
1744    \value Key_KeyboardBrightnessUp
1745    \value Key_KeyboardBrightnessDown
1746    \value Key_PowerOff
1747    \value Key_WakeUp
1748    \value Key_Eject
1749    \value Key_ScreenSaver
1750    \value Key_WWW
1751    \value Key_Memo
1752    \value Key_LightBulb
1753    \value Key_Shop
1754    \value Key_History
1755    \value Key_AddFavorite
1756    \value Key_HotLinks
1757    \value Key_BrightnessAdjust
1758    \value Key_Finance
1759    \value Key_Community
1760    \value Key_AudioRewind
1761    \value Key_BackForward
1762    \value Key_ApplicationLeft
1763    \value Key_ApplicationRight
1764    \value Key_Book
1765    \value Key_CD
1766    \value Key_Calculator On X11 this key is not mapped for legacy reasons. Use Qt::Key_Launch1 instead.
1767    \value Key_ToDoList
1768    \value Key_ClearGrab
1769    \value Key_Close
1770    \value Key_Copy
1771    \value Key_Cut
1772    \value Key_Display
1773    \value Key_DOS
1774    \value Key_Documents
1775    \value Key_Excel
1776    \value Key_Explorer
1777    \value Key_Game
1778    \value Key_Go
1779    \value Key_iTouch
1780    \value Key_LogOff
1781    \value Key_Market
1782    \value Key_Meeting
1783    \value Key_MenuKB
1784    \value Key_MenuPB
1785    \value Key_MySites
1786    \value Key_News
1787    \value Key_OfficeHome
1788    \value Key_Option
1789    \value Key_Paste
1790    \value Key_Phone
1791    \value Key_Calendar
1792    \value Key_Reply
1793    \value Key_Reload
1794    \value Key_RotateWindows
1795    \value Key_RotationPB
1796    \value Key_RotationKB
1797    \value Key_Save
1798    \value Key_Send
1799    \value Key_Spell
1800    \value Key_SplitScreen
1801    \value Key_Support
1802    \value Key_TaskPane
1803    \value Key_Terminal
1804    \value Key_Tools
1805    \value Key_Travel
1806    \value Key_Video
1807    \value Key_Word
1808    \value Key_Xfer
1809    \value Key_ZoomIn
1810    \value Key_ZoomOut
1811    \value Key_Away
1812    \value Key_Messenger
1813    \value Key_WebCam
1814    \value Key_MailForward
1815    \value Key_Pictures
1816    \value Key_Music
1817    \value Key_Battery
1818    \value Key_Bluetooth
1819    \value Key_WLAN
1820    \value Key_UWB
1821    \value Key_AudioForward
1822    \value Key_AudioRepeat
1823    \value Key_AudioRandomPlay
1824    \value Key_Subtitle
1825    \value Key_AudioCycleTrack
1826    \value Key_Time
1827    \value Key_Hibernate
1828    \value Key_View
1829    \value Key_TopMenu
1830    \value Key_PowerDown
1831    \value Key_Suspend
1832    \value Key_ContrastAdjust
1833    \value Key_TouchpadToggle
1834    \value Key_TouchpadOn
1835    \value Key_TouchpadOff
1836    \value Key_MicMute
1837    \value Key_Red
1838    \value Key_Green
1839    \value Key_Yellow
1840    \value Key_Blue
1841    \value Key_ChannelUp
1842    \value Key_ChannelDown
1843    \value Key_Guide
1844    \value Key_Info
1845    \value Key_Settings
1846    \value Key_MicVolumeUp
1847    \value Key_MicVolumeDown
1848    \value Key_New
1849    \value Key_Open
1850    \value Key_Find
1851    \value Key_Undo
1852    \value Key_Redo
1853    \value Key_MediaLast
1854    \value Key_unknown
1855
1856    \value Key_Call     A key to answer or initiate a call (see Qt::Key_ToggleCallHangup for a key to toggle current call state)
1857    \value Key_Camera   A key to activate the camera shutter. On Windows Runtime, the environment variable QT_QPA_ENABLE_CAMERA_KEYS must be set to receive the event.
1858    \value Key_CameraFocus  A key to focus the camera. On Windows Runtime, the environment variable QT_QPA_ENABLE_CAMERA_KEYS must be set to receive the event.
1859    \value Key_Context1
1860    \value Key_Context2
1861    \value Key_Context3
1862    \value Key_Context4
1863    \value Key_Flip
1864    \value Key_Hangup   A key to end an ongoing call (see Qt::Key_ToggleCallHangup for a key to toggle current call state)
1865    \value Key_No
1866    \value Key_Select
1867    \value Key_Yes
1868    \value Key_ToggleCallHangup A key to toggle the current call state (ie. either answer, or hangup) depending on current call state
1869    \value Key_VoiceDial
1870    \value Key_LastNumberRedial
1871
1872    \value Key_Execute
1873    \value Key_Printer
1874    \value Key_Play
1875    \value Key_Sleep
1876    \value Key_Zoom
1877    \value Key_Exit
1878    \value Key_Cancel
1879
1880    \sa QKeyEvent::key()
1881*/
1882
1883/*!
1884    \enum Qt::HitTestAccuracy
1885
1886    This enum contains the types of accuracy that can be used by the
1887    QTextDocument class when testing for mouse clicks on text documents.
1888
1889    \value ExactHit The point at which input occurred must coincide
1890                    exactly with input-sensitive parts of the document.
1891    \value FuzzyHit The point at which input occurred can lie close to
1892                    input-sensitive parts of the document.
1893*/
1894
1895/*!
1896    \enum Qt::WhiteSpaceMode
1897
1898    This enum describes the types of whitespace mode that are used by
1899    the QTextDocument class to meet the requirements of different kinds
1900    of textual information.
1901
1902    \value WhiteSpaceNormal         The whitespace mode used to display
1903                                    normal word wrapped text in paragraphs.
1904    \value WhiteSpacePre            A preformatted text mode in which
1905                                    whitespace is reproduced exactly.
1906    \value WhiteSpaceNoWrap
1907
1908    \omitvalue WhiteSpaceModeUndefined
1909*/
1910
1911/*!
1912    \enum Qt::CheckState
1913
1914    This enum describes the state of checkable items, controls, and widgets.
1915
1916    \value Unchecked        The item is unchecked.
1917    \value PartiallyChecked The item is partially checked. Items in hierarchical models
1918                            may be partially checked if some, but not all, of their
1919                            children are checked.
1920    \value Checked          The item is checked.
1921
1922    \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
1923*/
1924
1925
1926/*!
1927    \enum Qt::ToolButtonStyle
1928
1929    The style of the tool button, describing how the button's text and
1930    icon should be displayed.
1931
1932    \value ToolButtonIconOnly Only display the icon.
1933    \value ToolButtonTextOnly Only display the text.
1934    \value ToolButtonTextBesideIcon The text appears beside the icon.
1935    \value ToolButtonTextUnderIcon The text appears under the icon.
1936    \value ToolButtonFollowStyle Follow the \l{QStyle::SH_ToolButtonStyle}{style}.
1937*/
1938
1939/*!
1940    \enum Qt::Corner
1941
1942    This enum type specifies a corner in a rectangle:
1943
1944    \value TopLeftCorner     The top-left corner of the rectangle.
1945    \value TopRightCorner    The top-right corner of the rectangle.
1946    \value BottomLeftCorner  The bottom-left corner of the rectangle.
1947    \value BottomRightCorner The bottom-right corner of the rectangle.
1948*/
1949
1950/*!
1951    \enum Qt::Edge
1952
1953    This enum type specifies an edge in a rectangle:
1954
1955    \value TopEdge    The top edge of the rectangle.
1956    \value LeftEdge   The left edge of the rectangle.
1957    \value RightEdge  The right edge of the rectangle.
1958    \value BottomEdge The bottom edge of the rectangle.
1959
1960    \since 5.1
1961*/
1962
1963/*!
1964    \enum Qt::ScrollBarPolicy
1965
1966    This enum type describes the various modes of QAbstractScrollArea's scroll
1967    bars.
1968
1969    \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
1970    content is too large to fit and not otherwise. This is the
1971    default.
1972
1973    \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
1974
1975    \value ScrollBarAlwaysOn  QAbstractScrollArea always shows a scroll bar. This
1976    property is ignored on systems with transient scroll bars (e.g., on Mac from
1977    version 10.7).
1978
1979    (The modes for the horizontal and vertical scroll bars are
1980    independent.)
1981*/
1982
1983/*!
1984    \enum Qt::ArrowType
1985
1986    \value NoArrow
1987    \value UpArrow
1988    \value DownArrow
1989    \value LeftArrow
1990    \value RightArrow
1991*/
1992
1993/*!
1994    \enum Qt::FocusReason
1995
1996    This enum specifies why the focus changed. It will be passed
1997    through QWidget::setFocus and can be retrieved in the QFocusEvent
1998    sent to the widget upon focus change.
1999
2000    \value MouseFocusReason        A mouse action occurred.
2001    \value TabFocusReason          The Tab key was pressed.
2002    \value BacktabFocusReason      A Backtab occurred. The input for this may
2003                                   include the Shift or Control keys;
2004                                   e.g. Shift+Tab.
2005    \value ActiveWindowFocusReason The window system made this window either
2006                                   active or inactive.
2007    \value PopupFocusReason        The application opened/closed a pop-up that
2008                                   grabbed/released the keyboard focus.
2009    \value ShortcutFocusReason     The user typed a label's buddy shortcut
2010    \value MenuBarFocusReason      The menu bar took focus.
2011    \value OtherFocusReason        Another reason, usually application-specific.
2012
2013    \omitvalue NoFocusReason
2014
2015    \sa {Keyboard Focus in Widgets}
2016*/
2017
2018/*!
2019    \enum Qt::WindowState
2020
2021    \keyword window state
2022
2023    This enum type is used to specify the current state of a top-level
2024    window.
2025
2026    The states are
2027
2028    \value WindowNoState   The window has no state set (in normal state).
2029    \value WindowMinimized The window is minimized (i.e. iconified).
2030    \value WindowMaximized The window is maximized with a frame around it.
2031    \value WindowFullScreen The window fills the entire screen without any frame around it.
2032    \value WindowActive The window is the active window, i.e. it has keyboard focus.
2033
2034*/
2035
2036/*!
2037    \enum Qt::ApplicationState
2038
2039    \keyword application state
2040
2041    This enum type is used to specify the current state of the application.
2042
2043    The states are
2044
2045    \value ApplicationSuspended    The application is about to suspend. When entering this state, the
2046                                   application should save its state, cease all activities, and be
2047                                   prepared for code execution to stop. While suspended, the
2048                                   application can be killed at any time without further warnings
2049                                   (e.g. when low memory forces the OS to purge suspended applications).
2050    \value ApplicationHidden       The application is hidden and runs in the background. This
2051                                   is the normal state for applications that need to do background
2052                                   processing, like playing music, while the user interacts with
2053                                   other applications. The application should free up all graphical
2054                                   resources when entering this state.
2055    \value ApplicationInactive     The application is visible, but not selected to be in front.
2056                                   On desktop platforms, this typically means that the user
2057                                   activated another application. On mobile platforms, it is
2058                                   more common to enter this state when the OS is interrupting
2059                                   the user with e.g. incoming calls or SMS-messages.
2060                                   While in this state, consider reducing CPU-intensive tasks.
2061    \value ApplicationActive       The application is visible and selected to be in front.
2062
2063    \since 5.1
2064*/
2065
2066/*!
2067    \enum Qt::ScreenOrientation
2068
2069    This enum type specifies the various orientations a screen might have.
2070
2071    \value PrimaryOrientation           The display's primary orientation.
2072    \value LandscapeOrientation         Landscape orientation, display width is greater than display height.
2073    \value PortraitOrientation          Portrait orientation, display height is greater than display width,
2074                                        rotated 90 degree clockwise relative to landscape.
2075    \value InvertedLandscapeOrientation Inverted landscape orientation, rotated 180 degrees relative to landscape.
2076    \value InvertedPortraitOrientation  Inverted portrait orientation, rotated 180 degrees relative to portrait.
2077*/
2078
2079/*!
2080    \enum Qt::ContextMenuPolicy
2081
2082    This enum type defines the various policies a widget can have with
2083    respect to showing a context menu.
2084
2085    \value NoContextMenu the widget does not feature a context menu,
2086    context menu handling is deferred to the widget's parent.
2087    \value PreventContextMenu the widget does not feature a context
2088    menu, and in contrast to \c NoContextMenu, the handling is \e not
2089    deferred to the widget's parent. This means that all right mouse
2090    button events are guaranteed to be delivered to the widget itself
2091    through QWidget::mousePressEvent(), and QWidget::mouseReleaseEvent().
2092    \value DefaultContextMenu  the widget's QWidget::contextMenuEvent() handler is called.
2093    \value ActionsContextMenu  the widget displays its QWidget::actions() as context menu.
2094    \value CustomContextMenu  the widget emits the QWidget::customContextMenuRequested() signal.
2095*/
2096
2097/*!
2098    \enum Qt::FocusPolicy
2099
2100    This enum type defines the various policies a widget can have with
2101    respect to acquiring keyboard focus.
2102
2103    \value TabFocus  the widget accepts focus by tabbing.
2104    \value ClickFocus  the widget accepts focus by clicking.
2105    \value StrongFocus  the widget accepts focus by both tabbing
2106                    and clicking. On \macos this will also
2107                    be indicate that the widget accepts tab focus
2108                    when in 'Text/List focus mode'.
2109    \value WheelFocus  like Qt::StrongFocus plus the widget accepts
2110                    focus by using the mouse wheel.
2111    \value NoFocus  the widget does not accept focus.
2112
2113*/
2114
2115/*!
2116    \enum Qt::TabFocusBehavior
2117    \since 5.5
2118
2119    This enum type provides different focus behaviors for tab navigation.
2120
2121    \value NoTabFocus  iterate nothing.
2122    \value TabFocusTextControls  iterate text controls and widgets.
2123    \value TabFocusListControls  iterate list controls and widgets.
2124    \value TabFocusAllControls  iterate all controls and widgets.
2125
2126*/
2127
2128/*!
2129    \enum Qt::ShortcutContext
2130
2131    For a QEvent::Shortcut event to occur, the shortcut's key sequence
2132    must be entered by the user in a context where the shortcut is
2133    active. The possible contexts are these:
2134
2135    \value WidgetShortcut The shortcut is active when its
2136    parent widget has focus.
2137    \value WidgetWithChildrenShortcut The shortcut is active
2138    when its parent widget, or any of its children has focus.
2139    Children which are top-level widgets, except pop-ups, are
2140    not affected by this shortcut context.
2141    \value WindowShortcut The shortcut is active when its
2142    parent widget is a logical subwidget of the
2143    active top-level window.
2144    \value ApplicationShortcut The shortcut is active when one of
2145    the applications windows are active.
2146*/
2147
2148/*!
2149    \typedef Qt::WFlags
2150    \obsolete
2151    This typedef is obsolete. Use Qt::WindowFlags instead.
2152
2153    Synonym for Qt::WindowFlags.
2154*/
2155
2156/*!
2157    \enum Qt::WindowType
2158
2159    \keyword window flag
2160
2161    This enum type is used to specify various window-system properties
2162    for the widget. They are fairly unusual but necessary in a few
2163    cases. Some of these flags depend on whether the underlying window
2164    manager supports them.
2165
2166    The main types are
2167
2168    \value Widget  This is the default type for QWidget. Widgets of
2169                   this type are child widgets if they have a parent,
2170                   and independent windows if they have no parent.
2171                   See also Qt::Window and Qt::SubWindow.
2172
2173    \value Window  Indicates that the widget is a window, usually
2174                   with a window system frame and a title bar,
2175                   irrespective of whether the widget has a parent or
2176                   not. Note that it is not possible to unset this
2177                   flag if the widget does not have a parent.
2178
2179    \value Dialog  Indicates that the widget is a window that should
2180                   be decorated as a dialog (i.e., typically no
2181                   maximize or minimize buttons in the title bar).
2182                   This is the default type for QDialog. If you want
2183                   to use it as a modal dialog, it should be launched
2184                   from another window, or have a parent and used
2185                   with the QWidget::windowModality property. If you make
2186                   it modal, the dialog will prevent other top-level
2187                   windows in the application from getting any input.
2188                   We refer to a top-level window that has a parent
2189                   as a \e secondary window.
2190
2191    \value Sheet   Indicates that the window is a sheet on \macos. Since
2192                   using a sheet implies window modality, the recommended
2193                   way is to use QWidget::setWindowModality(), or
2194                   QDialog::open(), instead.
2195
2196    \value Drawer  Indicates that the widget is a drawer on \macos.
2197
2198    \value Popup   Indicates that the widget is a pop-up top-level
2199                   window, i.e. that it is modal, but has a window
2200                   system frame appropriate for pop-up menus.
2201
2202    \value Tool    Indicates that the widget is a tool window. A tool
2203                   window is often a small window with a smaller than
2204                   usual title bar and decoration, typically used for
2205                   collections of tool buttons. If there is a parent,
2206                   the tool window will always be kept on top of it.
2207                   If there isn't a parent, you may consider using
2208                   Qt::WindowStaysOnTopHint as well. If the window
2209                   system supports it, a tool window can be decorated
2210                   with a somewhat lighter frame. It can also be
2211                   combined with Qt::FramelessWindowHint.
2212                   On \macos, tool windows correspond to the
2213                   \l{https://developer.apple.com/documentation/appkit/nspanel}{NSPanel}
2214                   class of windows. This means that the window lives on a
2215                   level above normal windows making it impossible to put a normal
2216                   window on top of it. By default, tool windows will disappear
2217                   when the application is inactive.  This can be controlled by
2218                   the Qt::WA_MacAlwaysShowToolWindow attribute.
2219
2220    \value ToolTip Indicates that the widget is a tooltip. This is
2221                   used internally to implement
2222                   \l{QWidget::toolTip}{tooltips}.
2223
2224    \value SplashScreen Indicates that the window is a splash screen.
2225                        This is the default type for QSplashScreen.
2226
2227    \value Desktop  Indicates that this widget is the desktop. This
2228                    is the type for QDesktopWidget.
2229
2230    \value SubWindow  Indicates that this widget is a sub-window, such
2231                      as a QMdiSubWindow widget.
2232
2233    \value ForeignWindow Indicates that this window object is a handle
2234                         representing a native platform window created by
2235                         another process or by manually using native code.
2236
2237    \value CoverWindow Indicates that the window represents a cover window,
2238                       which is shown when the application is minimized on
2239                       some platforms.
2240
2241    There are also a number of flags which you can use to customize
2242    the appearance of top-level windows. These have no effect on other
2243    windows:
2244
2245    \value MSWindowsFixedSizeDialogHint  Gives the window a thin dialog border on Windows.
2246           This style is traditionally used for fixed-size dialogs.
2247
2248           \note The use of this flag is not recommended in multi-monitor
2249           environments. This is because the system will enforce that the window
2250           maintains its native size when moving it across screens. This is
2251           particularly undesirable when using monitors with different
2252           resolutions.
2253
2254    \value MSWindowsOwnDC  Gives the window its own display
2255           context on Windows.
2256
2257    \value BypassWindowManagerHint This flag can be used to indicate to the platform plugin
2258           that "all" window manager protocols should be disabled. This flag will behave
2259           different depending on what operating system the application is running on and
2260           what window manager is running. The flag can be used to get a native window
2261           with no configuration set.
2262
2263    \value X11BypassWindowManagerHint  Bypass the window
2264           manager completely. This results in a borderless window
2265           that is not managed at all (i.e., no keyboard input unless
2266           you call QWidget::activateWindow() manually).
2267
2268    \value FramelessWindowHint  Produces a borderless window.
2269           The user cannot move or resize a borderless window via the window
2270           system. On X11, the result of the flag is dependent on the window manager and its
2271           ability to understand Motif and/or NETWM hints. Most existing
2272           modern window managers can handle this.
2273
2274    \value NoDropShadowWindowHint  Disables window drop shadow on supporting platforms.
2275
2276    The \c CustomizeWindowHint flag is used to enable customization of
2277    the window controls. This flag must be set to allow the \c
2278    WindowTitleHint, \c WindowSystemMenuHint, \c
2279    WindowMinimizeButtonHint, \c WindowMaximizeButtonHint and \c
2280    WindowCloseButtonHint flags to be changed.
2281
2282    \value CustomizeWindowHint  Turns off the default window title hints.
2283
2284    \value WindowTitleHint  Gives the window a title bar.
2285
2286    \value WindowSystemMenuHint Adds a window system menu, and
2287    possibly a close button (for example on Mac). If you need to hide
2288    or show a close button, it is more portable to use \c
2289    WindowCloseButtonHint.
2290
2291    \value WindowMinimizeButtonHint  Adds a minimize button. On
2292           some platforms this implies Qt::WindowSystemMenuHint for it to work.
2293
2294    \value WindowMaximizeButtonHint  Adds a maximize button. On
2295           some platforms this implies Qt::WindowSystemMenuHint for it to work.
2296
2297    \value WindowMinMaxButtonsHint  Adds a minimize and a maximize
2298           button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
2299
2300    \value WindowCloseButtonHint  Adds a close button. On
2301           some platforms this implies Qt::WindowSystemMenuHint for it
2302           to work.
2303
2304    \value WindowContextHelpButtonHint  Adds a context help button to dialogs.
2305           On some platforms this implies Qt::WindowSystemMenuHint for it to work.
2306
2307    \value MacWindowToolBarButtonHint On \macos adds a tool bar button (i.e.,
2308           the oblong button that is on the top right of windows that have toolbars).
2309
2310    \value WindowFullscreenButtonHint On \macos adds a fullscreen button.
2311
2312    \value BypassGraphicsProxyWidget Prevents the window and its children from
2313           automatically embedding themselves into a QGraphicsProxyWidget if the
2314           parent widget is already embedded. You can set this flag if you
2315           want your widget to always be a toplevel widget on the desktop,
2316           regardless of whether the parent widget is embedded in a scene or
2317           not.
2318
2319    \value WindowShadeButtonHint Adds a shade button in place of the minimize
2320           button if the underlying window manager supports it.
2321
2322    \value WindowStaysOnTopHint  Informs the window system that the
2323           window should stay on top of all other windows. Note that
2324           on some window managers on X11 you also have to pass
2325           Qt::X11BypassWindowManagerHint for this flag to work
2326           correctly.
2327
2328    \value WindowStaysOnBottomHint Informs the window system that the
2329           window should stay on bottom of all other windows.
2330
2331           \note On X11, this hint will work only in window managers
2332           that support _NET_WM_STATE_BELOW atom. If a window always
2333           on the bottom has a parent, the parent will also be left on
2334           the bottom.  This window hint is currently not implemented
2335           for \macos.
2336
2337           \note On Windows, this will work only for frameless or
2338           full-screen windows.
2339
2340    \value WindowTransparentForInput Informs the window system that this window
2341           is used only for output (displaying something) and does not take input.
2342           Therefore input events should pass through as if it wasn't there.
2343
2344    \value WindowOverridesSystemGestures Informs the window system that this window
2345           implements its own set of gestures and that system level gestures, like for
2346           instance three-finger desktop switching, should be disabled.
2347
2348    \value WindowDoesNotAcceptFocus Informs the window system that this window should
2349           not receive the input focus.
2350
2351    \value MaximizeUsingFullscreenGeometryHint Informs the window system that when
2352           maximizing the window it should use as much of the available screen geometry
2353           as possible, including areas that may be covered by system UI such as status
2354           bars or application launchers. This may result in the window being placed
2355           under these system UIs, but does not guarantee it, depending on whether or
2356           not the platform supports it. When the flag is enabled the user is responsible
2357           for taking QScreen::availableGeometry() into account, so that any UI elements
2358           in the application that require user interaction are not covered by system UI.
2359
2360    \value WindowType_Mask  A mask for extracting the window type
2361                            part of the window flags.
2362
2363    \sa QWidget::windowFlags, {Window Flags Example}
2364*/
2365
2366/*!
2367    \enum Qt::FindChildOption
2368
2369    \value FindDirectChildrenOnly    Looks only at the direct children of the object.
2370    \value FindChildrenRecursively   Looks at all children of the object (recursive search).
2371*/
2372
2373/*!
2374    \enum Qt::DropAction
2375
2376    \value CopyAction       Copy the data to the target.
2377    \value MoveAction       Move the data from the source to the target.
2378    \value LinkAction       Create a link from the source to the target.
2379    \value ActionMask
2380    \value IgnoreAction     Ignore the action (do nothing with the data).
2381    \value TargetMoveAction On Windows, this value is used when the ownership of the D&D data
2382                            should be taken over by the target application,
2383                            i.e., the source application should not delete
2384                            the data.
2385                            On X11 this value is used to do a move.
2386                            TargetMoveAction is not used on the Mac.
2387*/
2388
2389/*!
2390    \enum Qt::SortOrder
2391
2392    This enum describes how the items in a widget are sorted.
2393
2394    \value AscendingOrder The items are sorted ascending e.g. starts with
2395    'AAA' ends with 'ZZZ' in Latin-1 locales
2396
2397    \value DescendingOrder The items are sorted descending e.g. starts with
2398    'ZZZ' ends with 'AAA' in Latin-1 locales
2399*/
2400
2401/*!
2402    \enum Qt::SplitBehaviorFlags
2403    \since 5.14
2404
2405    This enum specifies how the split() functions should behave with
2406    respect to empty strings.
2407
2408    \value KeepEmptyParts  If a field is empty, keep it in the result.
2409    \value SkipEmptyParts  If a field is empty, don't include it in the result.
2410
2411    \sa QString::split()
2412*/
2413
2414/*!
2415    \enum Qt::ClipOperation
2416
2417    \value NoClip This operation turns clipping off.
2418
2419    \value ReplaceClip Replaces the current clip path/rect/region with
2420    the one supplied in the function call.
2421
2422    \value IntersectClip Intersects the current clip path/rect/region
2423    with the one supplied in the function call.
2424*/
2425
2426/*!
2427    \enum Qt::ItemSelectionMode
2428
2429    This enum is used in QGraphicsItem, QGraphicsScene and QGraphicsView to
2430    specify how items are selected, or how to determine if shapes and items
2431    collide.
2432
2433    \value ContainsItemShape The output list contains only items whose
2434           \l{QGraphicsItem::shape()}{shape} is fully contained inside the
2435           selection area. Items that intersect with the area's outline are
2436           not included.
2437
2438    \value IntersectsItemShape The output list contains both items whose
2439           \l{QGraphicsItem::shape()}{shape} is fully contained inside the
2440           selection area, and items that intersect with the area's
2441           outline. This is a common mode for rubber band selection.
2442
2443    \value ContainsItemBoundingRect The output list contains only items whose
2444           \l{QGraphicsItem::boundingRect()}{bounding rectangle} is fully
2445           contained inside the selection area. Items that intersect with the
2446           area's outline are not included.
2447
2448    \value IntersectsItemBoundingRect The output list contains both items
2449           whose \l{QGraphicsItem::boundingRect()}{bounding rectangle} is
2450           fully contained inside the selection area, and items that intersect
2451           with the area's outline. This method is commonly used for
2452           determining areas that need redrawing.
2453
2454    \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
2455        QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
2456        QGraphicsItem::collidesWithPath()
2457*/
2458
2459/*!
2460    \enum Qt::ItemSelectionOperation
2461
2462    This enum is used in QGraphicsScene to specify what to do with currently selected
2463    items when setting a selection area.
2464
2465    \value ReplaceSelection The currently selected items are replaced by items
2466           in the selection area.
2467
2468    \value AddToSelection The items in the selection area are added to the currently
2469           selected items.
2470
2471    \sa QGraphicsScene::setSelectionArea()
2472*/
2473
2474/*!
2475    \enum Qt::FillRule
2476
2477    Specifies which method should be used to fill the paths and polygons.
2478
2479    \value OddEvenFill Specifies that the region is filled using the
2480    odd even fill rule. With this rule, we determine whether a point
2481    is inside the shape by using the following method.
2482    Draw a horizontal line from the point to a location outside the shape,
2483    and count the number of intersections. If the number of intersections
2484    is an odd number, the point is inside the shape. This mode is the
2485    default.
2486
2487    \value WindingFill Specifies that the region is filled using the
2488    non zero winding rule. With this rule, we determine whether a
2489    point is inside the shape by using the following method.
2490    Draw a horizontal line from the point to a location outside the shape.
2491    Determine whether the direction of the line at each intersection point
2492    is up or down. The winding number is determined by summing the
2493    direction of each intersection. If the number is non zero, the point
2494    is inside the shape. This fill mode can also in most cases be considered
2495    as the intersection of closed shapes.
2496*/
2497
2498/*!
2499    \enum Qt::TextFormat
2500
2501    This enum is used in widgets that can display both plain text and
2502    rich text, for example QLabel. It is used for deciding whether a text
2503    string should be interpreted as one or the other. This is normally
2504    done by passing one of the enum values to a QTextEdit::setTextFormat()
2505    function.
2506
2507    \value PlainText  The text string is interpreted as a plain text
2508        string.
2509
2510    \value RichText The text string is interpreted as a rich text
2511        string. See \l {Supported HTML Subset} for the definition
2512        of rich text.
2513
2514    \value AutoText The text string is interpreted as for
2515        Qt::RichText if Qt::mightBeRichText() returns \c true, otherwise
2516        as Qt::PlainText.
2517
2518    \value MarkdownText The text string is interpreted as Markdown-formatted text.
2519        This enum value was added in Qt 5.14.
2520*/
2521
2522/*!
2523    \enum Qt::CursorShape
2524
2525    This enum type defines the various cursors that can be used.
2526
2527    The standard arrow cursor is the default for widgets in a normal state.
2528
2529    \value ArrowCursor    \inlineimage cursor-arrow.png
2530                          The standard arrow cursor.
2531    \value UpArrowCursor  \inlineimage cursor-uparrow.png
2532                          An arrow pointing upwards toward the top of the screen.
2533    \value CrossCursor    \inlineimage cursor-cross.png
2534                          A crosshair cursor, typically used to help the
2535                          user accurately select a point on the screen.
2536    \value WaitCursor     \inlineimage cursor-wait.png
2537                          An hourglass or watch cursor, usually shown during
2538                          operations that prevent the user from interacting with
2539                          the application.
2540    \value IBeamCursor    \inlineimage cursor-ibeam.png
2541                          A caret or ibeam cursor, indicating that a widget can
2542                          accept and display text input.
2543    \value SizeVerCursor  \inlineimage cursor-sizev.png
2544                          A cursor used for elements that are used to vertically
2545                          resize top-level windows.
2546    \value SizeHorCursor  \inlineimage cursor-sizeh.png
2547                          A cursor used for elements that are used to horizontally
2548                          resize top-level windows.
2549    \value SizeBDiagCursor  \inlineimage cursor-sizeb.png
2550                          A cursor used for elements that are used to diagonally
2551                          resize top-level windows at their top-right and
2552                          bottom-left corners.
2553    \value SizeFDiagCursor  \inlineimage cursor-sizef.png
2554                          A cursor used for elements that are used to diagonally
2555                          resize top-level windows at their top-left and
2556                          bottom-right corners.
2557    \value SizeAllCursor  \inlineimage cursor-sizeall.png
2558                          A cursor used for elements that are used to resize
2559                          top-level windows in any direction.
2560    \value BlankCursor    A blank/invisible cursor, typically used when the cursor
2561                          shape needs to be hidden.
2562    \value SplitVCursor   \inlineimage cursor-vsplit.png
2563                          A cursor used for vertical splitters, indicating that
2564                          a handle can be dragged horizontally to adjust the use
2565                          of available space.
2566    \value SplitHCursor   \inlineimage cursor-hsplit.png
2567                          A cursor used for horizontal splitters, indicating that
2568                          a handle can be dragged vertically to adjust the use
2569                          of available space.
2570    \value PointingHandCursor  \inlineimage cursor-hand.png
2571                          A pointing hand cursor that is typically used for
2572                          clickable elements such as hyperlinks.
2573    \value ForbiddenCursor  \inlineimage cursor-forbidden.png
2574                          A slashed circle cursor, typically used during drag
2575                          and drop operations to indicate that dragged content
2576                          cannot be dropped on particular widgets or inside
2577                          certain regions.
2578    \value OpenHandCursor \inlineimage cursor-openhand.png
2579                          A cursor representing an open hand, typically used to
2580                          indicate that the area under the cursor is the visible
2581                          part of a canvas that the user can click and drag in
2582                          order to scroll around.
2583    \value ClosedHandCursor \inlineimage cursor-closedhand.png
2584                          A cursor representing a closed hand, typically used to
2585                          indicate that a dragging operation is in progress that
2586                          involves scrolling.
2587    \value WhatsThisCursor  \inlineimage cursor-whatsthis.png
2588                          An arrow with a question mark, typically used to indicate
2589                          the presence of What's This? help for a widget.
2590    \value BusyCursor     \inlineimage cursor-busy.png
2591                          An hourglass or watch cursor, usually shown during
2592                          operations that allow the user to interact with
2593                          the application while they are performed in the
2594                          background.
2595    \value DragMoveCursor
2596                          A cursor that is usually used when dragging an item.
2597    \value DragCopyCursor
2598                          A cursor that is usually used when dragging an item
2599                          to copy it.
2600    \value DragLinkCursor
2601                          A cursor that is usually used when dragging an item
2602                          to make a link to it.
2603
2604    \value BitmapCursor
2605    \omitvalue LastCursor
2606    \omitvalue CustomCursor
2607*/
2608
2609/*!
2610    \enum Qt::LayoutDirection
2611
2612    Specifies the direction of Qt's layouts and text handling.
2613
2614    \value LeftToRight  Left-to-right layout.
2615    \value RightToLeft  Right-to-left layout.
2616    \value LayoutDirectionAuto   Automatic layout.
2617
2618    Right-to-left layouts are necessary for certain languages,
2619    notably Arabic and Hebrew.
2620
2621    LayoutDirectionAuto serves two purposes. When used in conjunction with widgets and layouts, it
2622    will imply to use the layout direction set on the parent widget or QApplication. This
2623    has the same effect as QWidget::unsetLayoutDirection().
2624
2625    When LayoutDirectionAuto is used in conjunction with text layouting, it will imply that the text
2626    directionality is determined from the content of the string to be layouted.
2627
2628    \sa QGuiApplication::setLayoutDirection(), QWidget::setLayoutDirection(), QTextOption::setTextDirection(), QString::isRightToLeft()
2629*/
2630
2631/*!
2632    \enum Qt::AnchorPoint
2633
2634    Specifies a side of a layout item that can be anchored. This is used by
2635    QGraphicsAnchorLayout.
2636
2637    \value AnchorLeft               The left side of a layout item.
2638    \value AnchorHorizontalCenter   A "virtual" side that is centered between the left and the
2639                                    right side of a layout item.
2640    \value AnchorRight              The right side of a layout item.
2641    \value AnchorTop                The top side of a layout item.
2642    \value AnchorVerticalCenter     A "virtual" side that is centered between the top and the
2643                                    bottom side of a layout item.
2644    \value AnchorBottom             The bottom side of a layout item.
2645
2646    \sa QGraphicsAnchorLayout
2647*/
2648
2649/*!
2650    \enum Qt::InputMethodHint
2651
2652    \value ImhNone                   No hints.
2653
2654    Flags that alter the behavior:
2655
2656    \value ImhHiddenText             The input method should not show the characters while typing.
2657                                     This is automatically set when setting QLineEdit::echoMode to \c Password.
2658                                     Note that setting \c ImhHiddenText does not change the echo mode.
2659    \value ImhSensitiveData          Typed text should not be stored by the active input method
2660                                     in any persistent storage like predictive user dictionary.
2661    \value ImhNoAutoUppercase        The input method should not try to automatically switch to upper case
2662                                     when a sentence ends.
2663    \value ImhPreferNumbers          Numbers are preferred (but not required).
2664    \value ImhPreferUppercase        Upper case letters are preferred (but not required).
2665    \value ImhPreferLowercase        Lower case letters are preferred (but not required).
2666    \value ImhNoPredictiveText       Do not use predictive text (i.e. dictionary lookup) while typing.
2667
2668    \value ImhDate                   The text editor functions as a date field.
2669    \value ImhTime                   The text editor functions as a time field.
2670    \value ImhPreferLatin            Latin characters are preferred (but not required).
2671
2672    \value ImhMultiLine              Multiple lines can be entered into the text field.
2673
2674    \value ImhNoEditMenu             Do not use built-in edit menu. This flag was introduced in Qt 5.11.
2675    \value ImhNoTextHandles          Do not use built-in text cursor and selection handles. This flag was introduced in Qt 5.11.
2676
2677    Flags that restrict input (exclusive flags):
2678
2679    \value ImhDigitsOnly             Only digits are allowed.
2680    \value ImhFormattedNumbersOnly   Only number input is allowed. This includes decimal point and minus sign.
2681    \value ImhUppercaseOnly          Only upper case letter input is allowed.
2682    \value ImhLowercaseOnly          Only lower case letter input is allowed.
2683    \value ImhDialableCharactersOnly Only characters suitable for phone dialing are allowed.
2684    \value ImhEmailCharactersOnly    Only characters suitable for email addresses are allowed.
2685    \value ImhUrlCharactersOnly      Only characters suitable for URLs are allowed.
2686    \value ImhLatinOnly              Only latin based input is allowed.
2687
2688    Masks:
2689
2690    \value ImhExclusiveInputMask     This mask yields nonzero if any of the exclusive flags are used.
2691
2692    \note If several exclusive flags are OR-ed together, the resulting character set will
2693          consist of the union of the specified sets. For instance specifying \c ImhNumbersOnly and
2694          \c ImhUppercaseOnly would yield a set consisting of numbers and uppercase letters.
2695
2696    \sa QGraphicsItem::inputMethodHints()
2697*/
2698
2699/*!
2700    \enum Qt::InputMethodQuery
2701
2702    \value ImEnabled            The widget accepts input method input.
2703    \value ImMicroFocus         This query is obsolete. Use \c ImCursorRectangle instead.
2704    \value ImCursorRectangle    The rectangle covering the area of the input cursor in widget coordinates.
2705    \value ImFont               The currently used font for text input.
2706    \value ImCursorPosition     The logical position of the cursor within the text surrounding the input area
2707                                (see \c ImSurroundingText).
2708    \value ImSurroundingText    The plain text around the input area, for example the current paragraph.
2709    \value ImCurrentSelection   The currently selected text.
2710    \value ImMaximumTextLength  The maximum number of characters that the widget can hold. If there is no limit,
2711                                QVariant::QVariant() is returned.
2712    \value ImAnchorPosition     The position of the selection anchor. This may be less or greater than
2713                                \c ImCursorPosition, depending on which side of selection the cursor is.
2714                                If there is no selection, it returns the same as \c ImCursorPosition.
2715    \value ImHints              The hints for input method on expected input. (See Qt::InputMethodHints)
2716    \value ImPreferredLanguage  The preferred input language.
2717    \value ImPlatformData       Platform specific data for input method.
2718    \value ImAbsolutePosition   The logical position of the cursor within the entire document.
2719    \value ImTextBeforeCursor   The plain text before the cursor. The widget can decide how much text to return,
2720                                but \b{must} not return an empty string unless the cursor is at the start of the document.
2721    \value ImTextAfterCursor    The plain text after the cursor. The widget can decide how much text to return,
2722                                but \b{must} not return an empty string unless the cursor is at the end of the document.
2723    \value ImEnterKeyType       The Enter key type.
2724    \value ImAnchorRectangle    The bounding rectangle of the selection anchor.
2725                                This value was added in Qt 5.7.
2726    \value ImInputItemClipRectangle The actual exposed input item rectangle. Parts of the input item might be
2727                                clipped. This value will take clipping into consideration and return the actual painted
2728                                item rectangle. The rectangle is in widget coordinates.
2729
2730    Masks:
2731
2732    \value ImQueryInput         Commonly changed properties on input.
2733    \value ImQueryAll           Query for all input method properties.
2734
2735    \sa QInputMethodQueryEvent
2736*/
2737
2738/*!
2739    \enum Qt::EnterKeyType
2740
2741    This can be used to alter the appearance of the Return key on an on-screen keyboard.
2742
2743    \note Not all of these values are supported on all platforms.
2744    For unsupported values the default key will be used instead.
2745
2746    \value EnterKeyDefault     The default Enter key.
2747                               This can either be a button closing the keyboard, or a Return button
2748                               causing a new line in case of a multi-line input field.
2749    \value EnterKeyReturn      Show a Return button that inserts a new line.
2750                               The keyboard will not close when this button is pressed.
2751    \value EnterKeyDone        Show a "Done" button.
2752                               The keyboard will close when this button is pressed.
2753    \value EnterKeyGo          Show a "Go" button.
2754                               Typically used in an address bar when entering a URL; the keyboard
2755                               will close when this button is pressed.
2756    \value EnterKeySend        Show a "Send" button.
2757                               The keyboard will close when this button is pressed.
2758    \value EnterKeySearch      Show a "Search" button.
2759                               The keyboard will close when this button is pressed.
2760    \value EnterKeyNext        Show a "Next" button.
2761                               Typically used in a form to allow navigating to the next input field;
2762                               the keyboard will not close when this button is pressed.
2763    \value EnterKeyPrevious    Show a "Previous" button.
2764                               The keyboard will not close when this button is pressed.
2765
2766    \since 5.6
2767*/
2768
2769/*!
2770    \enum Qt::ItemDataRole
2771
2772    Each item in the model has a set of data elements associated with
2773    it, each with its own role. The roles are used by the view to indicate
2774    to the model which type of data it needs. Custom models should return
2775    data in these types.
2776
2777    The general purpose roles (and the associated types) are:
2778
2779    \value DisplayRole    The key data to be rendered in the form of text. (QString)
2780    \value DecorationRole The data to be rendered as a decoration in the form
2781                          of an icon. (QColor, QIcon or QPixmap)
2782    \value EditRole       The data in a form suitable for editing in an
2783                          editor. (QString)
2784    \value ToolTipRole    The data displayed in the item's tooltip. (QString)
2785    \value StatusTipRole  The data displayed in the status bar. (QString)
2786    \value WhatsThisRole  The data displayed for the item in "What's This?"
2787                          mode. (QString)
2788    \value SizeHintRole   The size hint for the item that will be supplied
2789                          to views. (QSize)
2790
2791    Roles describing appearance and meta data (with associated types):
2792
2793    \value FontRole             The font used for items rendered with the default
2794                                delegate. (QFont)
2795    \value TextAlignmentRole    The alignment of the text for items rendered with the
2796                                default delegate. (Qt::Alignment)
2797    \value BackgroundRole       The background brush used for items rendered with
2798                                the default delegate. (QBrush)
2799    \value BackgroundColorRole  This role is obsolete. Use BackgroundRole instead.
2800    \value ForegroundRole       The foreground brush (text color, typically)
2801                                used for items rendered with the default delegate.
2802                                (QBrush)
2803    \value TextColorRole        This role is obsolete. Use ForegroundRole instead.
2804    \value CheckStateRole       This role is used to obtain the checked state of
2805                                an item. (Qt::CheckState)
2806    \value InitialSortOrderRole This role is used to obtain the initial sort order
2807                                of a header view section. (Qt::SortOrder). This
2808                                role was introduced in Qt 4.8.
2809
2810    Accessibility roles (with associated types):
2811
2812    \value AccessibleTextRole        The text to be used by accessibility
2813                                     extensions and plugins, such as screen
2814                                     readers. (QString)
2815    \value AccessibleDescriptionRole A description of the item for accessibility
2816                                     purposes. (QString)
2817
2818    User roles:
2819
2820    \value UserRole       The first role that can be used for application-specific purposes.
2821
2822    \omitvalue DisplayPropertyRole
2823    \omitvalue DecorationPropertyRole
2824    \omitvalue ToolTipPropertyRole
2825    \omitvalue StatusTipPropertyRole
2826    \omitvalue WhatsThisPropertyRole
2827
2828    For user roles, it is up to the developer to decide which types to use and ensure that
2829    components use the correct types when accessing and setting data.
2830*/
2831
2832/*!
2833    \enum Qt::ItemFlag
2834
2835    This enum describes the properties of an item:
2836
2837    \value NoItemFlags It does not have any properties set.
2838    \value ItemIsSelectable It can be selected.
2839    \value ItemIsEditable It can be edited.
2840    \value ItemIsDragEnabled It can be dragged.
2841    \value ItemIsDropEnabled It can be used as a drop target.
2842    \value ItemIsUserCheckable It can be checked or unchecked by the user.
2843    \value ItemIsEnabled The user can interact with the item.
2844    \value ItemIsAutoTristate The item's state depends on the state of its children.
2845           This enables automatic management of the state of parent items in QTreeWidget
2846           (checked if all children are checked, unchecked if all children are unchecked,
2847           or partially checked if only some children are checked).
2848    \value ItemIsTristate \e{This enum value is deprecated.} Use Qt::ItemIsAutoTristate
2849    instead.
2850    \value ItemNeverHasChildren The item never has child items.
2851           This is used for optimization purposes only.
2852    \value ItemIsUserTristate The user can cycle through three separate states.
2853           This value was added in Qt 5.5.
2854
2855    Note that checkable items need to be given both a suitable set of flags
2856    and an initial state, indicating whether the item is checked or not.
2857    This is handled automatically for model/view components, but needs
2858    to be explicitly set for instances of QListWidgetItem, QTableWidgetItem,
2859    and QTreeWidgetItem.
2860
2861    Note that it is undefined behavior to reimplement QAbstractItemModel::hasChildren
2862    to return true for an index if that index has the Qt::ItemNeverHasChildren flag set.
2863
2864    \sa QAbstractItemModel
2865*/
2866
2867/*!
2868    \enum Qt::MatchFlag
2869
2870    This enum describes the type of matches that can be used when searching
2871    for items in a model.
2872
2873    \value MatchExactly            Performs QVariant-based matching.
2874    \value MatchFixedString        Performs string-based matching.
2875           String-based comparisons are case-insensitive unless the
2876           \c MatchCaseSensitive flag is also specified.
2877    \value MatchContains           The search term is contained in the item.
2878    \value MatchStartsWith         The search term matches the start of the item.
2879    \value MatchEndsWith           The search term matches the end of the item.
2880    \value MatchCaseSensitive      The search is case sensitive.
2881    \value MatchRegExp             Performs string-based matching using a regular
2882           expression as the search term. Uses the deprecated QRegExp class.
2883           \e{This enum value is deprecated since Qt 5.15.}
2884    \value MatchRegularExpression  Performs string-based matching using a regular
2885           expression as the search term. Uses QRegularExpression.
2886           When using this flag, a QRegularExpression object can be passed as
2887           parameter and will directly be used to perform the search. The case
2888           sensitivity flag will be ignored as the QRegularExpression object is
2889           expected to be fully configured.
2890           This enum value was added in Qt 5.15.
2891    \value MatchWildcard           Performs string-based matching using a string with
2892           wildcards as the search term.
2893    \value MatchWrap               Perform a search that wraps around, so that when
2894           the search reaches the last item in the model, it begins again at
2895           the first item and continues until all items have been examined.
2896    \value MatchRecursive          Searches the entire hierarchy.
2897
2898    \sa QString::compare(), QRegExp, QRegularExpression
2899*/
2900
2901/*!
2902    \enum Qt::TextElideMode
2903
2904    This enum specifies where the ellipsis should appear when
2905    displaying texts that don't fit:
2906
2907    \value ElideLeft    The ellipsis should appear at the beginning of the text.
2908    \value ElideRight   The ellipsis should appear at the end of the text.
2909    \value ElideMiddle  The ellipsis should appear in the middle of the text.
2910    \value ElideNone    Ellipsis should NOT appear in the text.
2911
2912    Qt::ElideMiddle is normally the most appropriate choice for URLs (e.g.,
2913    "\l{http://bugreports.qt.io/browse/QTWEBSITE-13}{http://bugreports.qt.../QTWEBSITE-13/}"),
2914    whereas Qt::ElideRight is appropriate
2915    for other strings (e.g.,
2916    "\l{http://doc.qt.io/archives/qq/qq09-mac-deployment.html}{Deploying Applications on Ma...}").
2917
2918    \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag, QTabBar::elideMode
2919*/
2920
2921/*!
2922    \enum Qt::WindowModality
2923
2924    \keyword modal
2925
2926    This enum specifies the behavior of a modal window. A modal window
2927    is one that blocks input to other windows. Note that windows that
2928    are children of a modal window are not blocked.
2929
2930    The values are:
2931    \value NonModal         The window is not modal and does not block input to other windows.
2932    \value WindowModal      The window is modal to a single window hierarchy and blocks input to its parent window, all grandparent windows, and all siblings of its parent and grandparent windows.
2933    \value ApplicationModal The window is modal to the application and blocks input to all windows.
2934
2935    \sa QWidget::windowModality, QDialog
2936*/
2937
2938/*!
2939    \enum Qt::TextInteractionFlag
2940
2941    This enum specifies how a text displaying widget reacts to user input.
2942
2943    \value NoTextInteraction          No interaction with the text is possible.
2944    \value TextSelectableByMouse      Text can be selected with the mouse and copied to the clipboard using
2945                                      a context menu or standard keyboard shortcuts.
2946    \value TextSelectableByKeyboard   Text can be selected with the cursor keys on the keyboard. A text cursor is shown.
2947    \value LinksAccessibleByMouse     Links can be highlighted and activated with the mouse.
2948    \value LinksAccessibleByKeyboard  Links can be focused using tab and activated with enter.
2949    \value TextEditable               The text is fully editable.
2950
2951    \value TextEditorInteraction      The default for a text editor.
2952    \value TextBrowserInteraction     The default for QTextBrowser.
2953*/
2954
2955/*!
2956    \enum Qt::MaskMode
2957
2958    This enum specifies the behavior of the
2959    QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
2960    functions.
2961
2962    \value MaskInColor   Creates a mask where all pixels matching the given color are opaque.
2963    \value MaskOutColor  Creates a mask where all pixels matching the given color are transparent.
2964*/
2965
2966/*!
2967    \enum Qt::DockWidgetAreaSizes
2968    \internal
2969*/
2970
2971/*!
2972    \enum Qt::ToolBarAreaSizes
2973    \internal
2974*/
2975
2976/*!
2977    \enum Qt::EventPriority
2978
2979    This enum can be used to specify event priorities.
2980
2981    \value HighEventPriority Events with this priority are sent before
2982    events with NormalEventPriority or LowEventPriority.
2983
2984    \value NormalEventPriority Events with this priority are sent
2985    after events with HighEventPriority, but before events with
2986    LowEventPriority.
2987
2988    \value LowEventPriority Events with this priority are sent after
2989    events with HighEventPriority or NormalEventPriority.
2990
2991    Note that these values are provided purely for convenience, since
2992    event priorities can be any value between \c INT_MAX and \c
2993    INT_MIN, inclusive. For example, you can define custom priorities
2994    as being relative to each other:
2995
2996    \snippet code/doc_src_qnamespace.cpp 1
2997
2998    \sa QCoreApplication::postEvent()
2999*/
3000/*!
3001    \enum Qt::SizeHint
3002    \since 4.4
3003
3004    This enum is used by QGraphicsLayoutItem::sizeHint()
3005
3006    \value MinimumSize is used to specify the minimum size of a graphics layout item.
3007    \value PreferredSize is used to specify the preferred size of a graphics layout item.
3008    \value MaximumSize is used to specify the maximum size of a graphics layout item.
3009    \value MinimumDescent is used to specify the minimum descent of a text string in a graphics layout item.
3010    \omitvalue NSizeHints
3011
3012    \sa QGraphicsLayoutItem::sizeHint()
3013*/
3014
3015/*!
3016    \enum Qt::SizeMode
3017    \since 4.4
3018
3019    This enum is used by QPainter::drawRoundedRect() and QPainterPath::addRoundedRect()
3020    functions to specify the radii of rectangle corners with respect to the dimensions
3021    of the bounding rectangles specified.
3022
3023    \value AbsoluteSize Specifies the size using absolute measurements.
3024    \value RelativeSize Specifies the size relative to the bounding rectangle,
3025                        typically using percentage measurements.
3026*/
3027
3028/*!
3029    \enum Qt::WindowFrameSection
3030    \since 4.4
3031
3032    This enum is used to describe parts of a window frame. It is returned by
3033    QGraphicsWidget::windowFrameSectionAt() to describe what section of the window
3034    frame is under the mouse.
3035
3036    \value NoSection
3037    \value LeftSection
3038    \value TopLeftSection
3039    \value TopSection
3040    \value TopRightSection
3041    \value RightSection
3042    \value BottomRightSection
3043    \value BottomSection
3044    \value BottomLeftSection
3045    \value TitleBarArea
3046
3047    \sa QGraphicsWidget::windowFrameEvent()
3048    \sa QGraphicsWidget::paintWindowFrame()
3049    \sa QGraphicsWidget::windowFrameSectionAt()
3050
3051*/
3052
3053/*!
3054  \enum Qt::TileRule
3055  \since 4.6
3056
3057  This enum describes how to repeat or stretch the parts of an image
3058  when drawing.
3059
3060  \value StretchTile  Scale the image to fit to the available area.
3061
3062  \value RepeatTile   Repeat the image until there is no more space. May
3063  crop the last image.
3064
3065  \value RoundTile    Similar to Repeat, but scales the image down to
3066  ensure that the last tile is not cropped.
3067*/
3068
3069/*!
3070    \enum Qt::Initialization
3071    \internal
3072*/
3073
3074/*!
3075    \enum Qt::CoordinateSystem
3076    \since 4.6
3077
3078    This enum specifies the coordinate system.
3079
3080    \value DeviceCoordinates Coordinates are relative to the top-left corner
3081    of the object's paint device.
3082
3083    \value LogicalCoordinates Coordinates are relative to the top-left corner
3084    of the object.
3085*/
3086
3087/*! \enum Qt::TouchPointState
3088    \since 4.6
3089
3090    This enum represents the state of a touch point at the time a
3091    QTouchEvent occurred.
3092
3093    \value TouchPointPressed The touch point is now pressed.
3094    \value TouchPointMoved The touch point moved.
3095    \value TouchPointStationary The touch point did not move.
3096    \value TouchPointReleased The touch point was released.
3097*/
3098
3099/*!
3100    \enum Qt::GestureState
3101    \since 4.6
3102
3103    This enum type describes the state of a gesture.
3104
3105    \value NoGesture        No gesture has been detected.
3106    \value GestureStarted   A continuous gesture has started.
3107    \value GestureUpdated   A gesture continues.
3108    \value GestureFinished  A gesture has finished.
3109    \value GestureCanceled  A gesture was canceled.
3110
3111    \sa QGesture
3112*/
3113
3114/*!
3115    \enum Qt::GestureType
3116    \since 4.6
3117
3118    This enum type describes the standard gestures.
3119
3120    \value TapGesture        A Tap gesture.
3121    \value TapAndHoldGesture A Tap-And-Hold (Long-Tap) gesture.
3122    \value PanGesture        A Pan gesture.
3123    \value PinchGesture      A Pinch gesture.
3124    \value SwipeGesture      A Swipe gesture.
3125    \value CustomGesture A flag that can be used to test if the gesture is a
3126    user-defined gesture ID.
3127    \omitvalue LastGestureType
3128
3129    User-defined gestures are registered with the
3130    QGestureRecognizer::registerRecognizer() function which generates a custom
3131    gesture ID with the Qt::CustomGesture flag set.
3132
3133    \sa QGesture, QWidget::grabGesture(), QGraphicsObject::grabGesture()
3134*/
3135
3136/*!
3137    \enum Qt::GestureFlag
3138    \since 4.6
3139
3140    This enum type describes additional flags that can be used when subscribing
3141    to a gesture.
3142
3143    \value DontStartGestureOnChildren By default gestures can start on the
3144    widget or over any of its children. Use this flag to disable this and allow
3145    a gesture to start on the widget only.
3146
3147    \value ReceivePartialGestures Allows any ignored gesture events to be
3148    propagated to parent widgets which have specified this hint. By default
3149    only gestures that are in the Qt::GestureStarted state are propagated and
3150    the widget always gets the full gesture sequence starting with a gesture in
3151    the Qt::GestureStarted state and ending with a gesture in the
3152    Qt::GestureFinished or Qt::GestureCanceled states.
3153
3154    \value IgnoredGesturesPropagateToParent Since Qt 4.7, this flag allows you
3155    to fine-tune gesture event propagation. By setting the flag when
3156    \l{QGraphicsObject::grabGesture()}{grabbing} a gesture all ignored partial
3157    gestures will propagate to their parent items.
3158
3159    \sa QWidget::grabGesture(), QGraphicsObject::grabGesture()
3160*/
3161
3162/*!
3163    \enum Qt::NativeGestureType
3164    \since 5.2
3165
3166    This enum returns the gesture type.
3167
3168    \value BeginNativeGesture Sent before gesture event stream.
3169    \value EndNativeGesture   Sent after gesture event stream.
3170    \value PanNativeGesture   Sent after a panning gesture.
3171                              Similar to a click-and-drag mouse movement.
3172    \value ZoomNativeGesture  Specifies the magnification delta in percent.
3173    \value SmartZoomNativeGesture Boolean magnification state.
3174    \value RotateNativeGesture    Rotation delta in degrees.
3175    \value SwipeNativeGesture     Sent after a swipe movements.
3176
3177*/
3178
3179/*!
3180    \enum Qt::NavigationMode
3181    \since 4.6
3182
3183    This enum type describes the mode for moving focus.
3184
3185    \value NavigationModeNone                Only the touch screen is used.
3186    \value NavigationModeKeypadTabOrder      Qt::Key_Up and Qt::Key_Down are used to change focus.
3187    \value NavigationModeKeypadDirectional   Qt::Key_Up, Qt::Key_Down, Qt::Key_Left and Qt::Key_Right are used to change focus.
3188    \value NavigationModeCursorAuto          The mouse cursor is used to change focus,
3189                                             it is displayed only on non touchscreen devices.
3190                                             The keypad is used to implement a virtual cursor, unless
3191                                             the device has an analog mouse type of input device (e.g. touchpad).
3192                                             This is the recommended setting for an application such as a web browser that
3193                                             needs pointer control on both touch and non-touch devices.
3194    \value NavigationModeCursorForceVisible  The mouse cursor is used to change focus,
3195                                             it is displayed regardless of device type.
3196                                             The keypad is used to implement a virtual cursor, unless
3197                                             the device has an analog mouse type of input device (e.g. touchpad)
3198    \note Cursor navigation is not currently implemented on any platform
3199    and behaves as NavigationModeNone.
3200    \sa QApplication::setNavigationMode()
3201    \sa QApplication::navigationMode()
3202*/
3203
3204/*!
3205    \enum Qt::CursorMoveStyle
3206
3207    This enum describes the movement style available to text cursors. The options
3208    are:
3209
3210    \value LogicalMoveStyle Within a left-to-right text block, decrease cursor
3211    position when pressing left arrow key, increase cursor position when pressing
3212    the right arrow key. If the text block is right-to-left, the opposite behavior
3213    applies.
3214    \value VisualMoveStyle Pressing the left arrow key will always cause the cursor
3215    to move left, regardless of the text's writing direction. Pressing the right
3216    arrow key will always cause the cursor to move right.
3217*/
3218
3219/*!
3220    \enum Qt::TimerType
3221
3222    The timer type indicates how accurate a timer can be.
3223
3224    \value PreciseTimer Precise timers try to keep millisecond accuracy
3225    \value CoarseTimer Coarse timers try to keep accuracy within 5% of the desired interval
3226    \value VeryCoarseTimer Very coarse timers only keep full second accuracy
3227
3228    On UNIX (including Linux, \macos, and iOS), Qt will keep millisecond accuracy
3229    for Qt::PreciseTimer. For Qt::CoarseTimer, the interval will be adjusted up
3230    to 5% to align the timer with other timers that are expected to fire at or
3231    around the same time. The objective is to make most timers wake up at the
3232    same time, thereby reducing CPU wakeups and power consumption.
3233
3234    On Windows, Qt will use Windows's Multimedia timer facility (if available)
3235    for Qt::PreciseTimer and normal Windows timers for Qt::CoarseTimer and
3236    Qt::VeryCoarseTimer.
3237
3238    On all platforms, the interval for Qt::VeryCoarseTimer is rounded to the
3239    nearest full second (e.g. an interval of 23500ms will be rounded to
3240    24000ms, and 20300ms to 20000ms).
3241*/
3242
3243/*!
3244    \enum Qt::ScrollPhase
3245    \since 5.2
3246
3247    This enum describes the phase of scrolling.
3248
3249    \value NoScrollPhase The input device doesn't support scroll phase.
3250    This value was introduced in Qt 5.7.
3251
3252    \value ScrollBegin Scrolling is about to begin, but the scrolling
3253    distance did not yet change.
3254
3255    \value ScrollUpdate The scrolling distance has changed (default).
3256
3257    \value ScrollEnd Scrolling has ended, and the scrolling distance
3258    did not change anymore.
3259
3260    \value ScrollMomentum The user no longer touches the input device,
3261    but scrolling continues due to scroll momentum.
3262    This value was introduced in Qt 5.12.
3263*/
3264
3265/*!
3266    \enum Qt::MouseEventSource
3267    \since 5.3
3268
3269    This enum describes the source of a mouse event and can be useful
3270    to determine if the event is an artificial mouse event originating
3271    from another device such as a touchscreen.
3272
3273    \value MouseEventNotSynthesized The most common value. On
3274    platforms where such information is available this value indicates
3275    that the event was generated in response to a genuine mouse event
3276    in the system.
3277
3278    \value MouseEventSynthesizedBySystem Indicates that the mouse
3279    event was synthesized from a touch event by the platform.
3280
3281    \value MouseEventSynthesizedByQt Indicates that the mouse event was
3282    synthesized from an unhandled touch event by Qt.
3283
3284    \value MouseEventSynthesizedByApplication Indicates that the mouse
3285    event was synthesized by the application. This allows
3286    distinguishing application-generated mouse events from the ones
3287    that are coming from the system or are synthesized by Qt. This
3288    value was introduced in Qt 5.6
3289
3290    \sa Qt::AA_SynthesizeMouseForUnhandledTouchEvents
3291*/
3292
3293/*!
3294    \enum Qt::MouseEventFlag
3295    \since 5.3
3296
3297    This enum provides additional information concerning a QMouseEvent.
3298
3299    \value MouseEventCreatedDoubleClick Indicates that Qt has created a
3300    \l {QEvent::MouseButtonDblClick}{MouseButtonDblClick} event from this event. The flag is set in the causing
3301    \l {QEvent::MouseButtonPress}{MouseButtonPress}, and not in the resulting \l {QEvent::MouseButtonDblClick}{MouseButtonDblClick}.
3302
3303    \omitvalue MouseEventFlagMask
3304*/
3305
3306/*!
3307  \enum Qt::ChecksumType
3308  \since 5.9
3309
3310  This enum describes the possible standards used by qChecksum().
3311
3312  \value ChecksumIso3309 Checksum calculation based on ISO 3309.
3313
3314  \value ChecksumItuV41 Checksum calculation based on ITU-V.41.
3315*/
3316
3317/*!
3318  \enum Qt::HighDpiScaleFactorRoundingPolicy
3319  \since 5.14
3320
3321  This enum describes the possible High-DPI scale factor rounding policies, which
3322  decide how non-integer scale factors (such as Windows 150%) are handled.
3323
3324  The active policy is set by calling QGuiApplication::setHighDdpiScaleFactorRoundingPolicy() before
3325  the application object is created, or by setting the QT_SCALE_FACTOR_ROUNDING_POLICY
3326  environment variable.
3327
3328  \sa QGuiApplication::setHighDpiScaleFactorRoundingPolicy()
3329  \sa AA_EnableHighDpiScaling.
3330
3331  \omitvalue Unset
3332  \value Round Round up for .5 and above.
3333  \value Ceil Always round up.
3334  \value Floor Always round down.
3335  \value RoundPreferFloor Round up for .75 and above.
3336  \value PassThrough Don't round.
3337*/
3338
3339/*!
3340  \enum Qt::ReturnByValueConstant
3341  \since 5.15
3342
3343  This is a dummy type, designed to help users transition from certain deprecated APIs to their replacement APIs.
3344
3345  \omitvalue ReturnByValue
3346
3347  \sa QCursor::bitmap()
3348  \sa QCursor::mask()
3349  \sa QLabel::picture()
3350  \sa QLabel::pixmap()
3351*/
3352