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