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
10 \brief The Qt namespace contains miscellaneous identifiers
11 used throughout the Qt library.
17 This type is used to signify an object's orientation.
22 Orientation is used with QScrollBar for example.
26 \enum Qt::AlignmentFlag
28 This enum type is used to describe alignment. It contains
29 horizontal and vertical flags that can be combined to produce
32 The \l{TextElideMode} enum can also be used in many situations
33 to fine-tune the appearance of aligned text.
35 The horizontal flags are:
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.
42 The vertical flags are:
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.
49 You can use only one of the horizontal flags at a time. There is
50 one two-dimensional flag:
52 \value AlignCenter Centers in both dimensions.
54 You can use at most one horizontal and one vertical flag at a
55 time. Qt::AlignCenter counts as both horizontal and vertical.
57 Three enum values are useful in applications that can be run in
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
67 \value AlignLeading Synonym for Qt::AlignLeft.
68 \value AlignTrailing Synonym for Qt::AlignRight.
72 \value AlignHorizontal_Mask
73 \value AlignVertical_Mask
75 Conflicting combinations of flags have undefined meanings.
79 \enum Qt::ApplicationAttribute
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().
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
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.
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
116 \value AA_NativeWindows Ensures that widgets have native windows.
118 \value AA_DontCreateNativeWidgetSiblings Ensures that siblings of native
119 widgets stay non-native unless specifically set by the
120 Qt::WA_NativeWindow attribute.
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.
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).
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.
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.
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.
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.
160 \value AA_SynthesizeTouchForUnhandledMouseEvents All mouse events
161 that are not accepted by the application will be translated
162 to touch events instead.
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
169 \value AA_ForceRasterWidgets Make top-level widgets use pure raster surfaces,
170 and do not support non-native GL-based child widgets.
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.
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.
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.
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.
202 \value AA_SetPalette Indicates whether a palette was explicitly set on the
203 QGuiApplication. This value was added in Qt 5.5.
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}
211 This value was added in Qt 5.7.
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.
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
221 This value was added in Qt 5.7.
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
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
238 This value was added in Qt 5.7.
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.
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.
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.
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
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
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.
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.
287 \omitvalue AA_AttributeCount
288 \omitvalue AA_EnableHighDpiScaling
289 \omitvalue AA_UseHighDpiPixmaps
290 \omitvalue AA_DisableHighDpiScaling
294 \enum Qt::MouseButton
296 This enum type describes the different mouse buttons.
298 \value NoButton The button state does not refer to any
299 button (see QMouseEvent::button()).
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.
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
308 \value RightButton The right button.
309 \value MiddleButton The middle button.
311 \value BackButton The 'Back' button. (Typically present on
312 the 'thumb' side of a mouse with extra buttons. This is NOT
314 \value XButton1 The 'Back' Button.
315 \value ExtraButton1 The 'Back' Button.
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.
322 \value TaskButton The 'Task' Button.
323 \value ExtraButton3 The 'Task' Button.
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.
347 \omitvalue MaxMouseButton
348 \omitvalue MouseButtonMask
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).
356 \sa KeyboardModifier, Modifier
360 \enum Qt::KeyboardModifier
362 This enum describes the modifier keys.
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.
373 \omitvalue KeyboardModifierMask
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
381 \note On Windows Keyboards, Qt::MetaModifier and Qt::Key_Meta are mapped
384 \sa MouseButton, Modifier
390 This enum provides shorter names for the keyboard modifier keys
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.
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
403 \sa KeyboardModifier, MouseButton
407 \enum Qt::GlobalColor
409 Qt's predefined QColor objects:
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)
439 This enum type defines the pen styles that can be drawn using
440 QPainter. The styles are:
444 \li \inlineimage qpen-solid.png
445 \li \inlineimage qpen-dash.png
446 \li \inlineimage qpen-dot.png
452 \li \inlineimage qpen-dashdot.png
453 \li \inlineimage qpen-dashdotdot.png
454 \li \inlineimage qpen-custom.png
457 \li Qt::DashDotDotLine
458 \li Qt::CustomDashLine
461 \value NoPen no line at all. For example, QPainter::drawRect()
462 fills but does not draw any boundary line.
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().
478 \enum Qt::PenCapStyle
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.
485 \li \inlineimage qpen-square.png
486 \li \inlineimage qpen-flat.png
487 \li \inlineimage qpen-roundcap.png
494 \value FlatCap a square line end that does not cover the end
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
505 \enum Qt::PenJoinStyle
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
513 \li \inlineimage qpen-bevel.png
514 \li \inlineimage qpen-miter.png
515 \li \inlineimage qpen-roundjoin.png
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
536 This enum type defines the brush styles supported by Qt, i.e. the
537 fill pattern of shapes drawn using QPainter.
539 \image brush-styles.png Brush Styles
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()).
567 This enum type is used to define some modifier flags. Some of
568 these flags only make sense in the context of printing:
570 \value TextSingleLine Treats all whitespace as spaces and prints just
572 \value TextDontClip If it's impossible to stay within the given bounds,
574 \value TextExpandTabs Makes the U+0009 (ASCII tab) character move to
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
580 \value TextWrapAnywhere Breaks lines anywhere, even within words.
581 \value TextHideMnemonic Same as Qt::TextShowMnemonic but doesn't draw
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.
590 \omitvalue TextLongestVariant
591 \omitvalue TextForceLeftToRight
592 \omitvalue TextForceRightToLeft
594 You can use as many modifier flags as you want, except that
595 Qt::TextSingleLine and Qt::TextWordWrap cannot be combined.
597 Flags that are inappropriate for a given use are generally
606 \value TransparentMode
611 \enum Qt::ConnectionType
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.
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.
624 \value DirectConnection
625 The slot is invoked immediately when the signal is
626 emitted. The slot is executed in the signalling thread.
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
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
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).
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.
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:
658 \snippet code/doc_src_qnamespace.qdoc 0
660 Call qRegisterMetaType() to register the data type before you
661 establish the connection.
663 When using signals and slots with multiple threads, see \l{Signals and Slots Across Threads}.
665 \sa {Thread Support in Qt}, QObject::connect(), qRegisterMetaType(), Q_DECLARE_METATYPE()
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.
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).
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.
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.
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.
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
739 \sa QDate::toString(), QTime::toString(), QDateTime::toString(),
740 QDate::fromString(), QTime::fromString(), QDateTime::fromString()
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.
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
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
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.
775 \sa QTimeZone, QDateTime
791 \enum Qt::CaseSensitivity
793 \value CaseInsensitive
798 \enum Qt::ToolBarArea
800 \value LeftToolBarArea
801 \value RightToolBarArea
802 \value TopToolBarArea
803 \value BottomToolBarArea
804 \value AllToolBarAreas
807 \omitvalue ToolBarArea_Mask
811 \enum Qt::DockWidgetArea
813 Represents the areas a QDockWidget can be plugged to.
814 \note A floating dock widget with tabs can be docked anywhere.
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.
823 \omitvalue DockWidgetArea_Mask
824 \sa QDockWidget::setAllowedAreas, QDockWidget::isAreaAllowed
828 \enum Qt::ColorScheme
830 Represents the appearance of an application's theme,
831 defined by QGuiApplication::palette().
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.
839 \enum Qt::ImageConversionFlag
841 The options marked "(default)" are set if no other values from
842 the list are included (since the defaults are zero):
844 Color/Mono preference (ignored for QBitmap):
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.
853 Dithering mode preference:
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.
859 Dithering mode preference for 1-bit alpha masks:
861 \value ThresholdAlphaDither (default) - No dithering.
862 \value OrderedAlphaDither A faster, ordered dither.
863 \value DiffuseAlphaDither A high-quality dither using error diffusion.
866 Color matching versus dithering preference:
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.
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.
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.
885 \omitvalue ColorMode_Mask
886 \omitvalue Dither_Mask
887 \omitvalue AlphaDither_Mask
888 \omitvalue DitherMode_Mask
894 This enum describes the available UI effects.
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
903 Note that all effects are disabled on screens running at less than
906 \omitvalue UI_General
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
915 \sa QApplication::setEffectEnabled(), QGuiApplication::setDesktopSettingsAware()
918/*! \enum Qt::AspectRatioMode
920 This enum type defines what happens to the aspect ratio when
921 scaling an rectangle.
923 \image qimage-scaling.png
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.
935 \sa QSize::scale(), QImage::scaled()
938/*! \enum Qt::TransformationMode
940 This enum type defines whether image transformations (e.g.,
941 scaling) should be smooth or not.
943 \value FastTransformation The transformation is performed
944 quickly, with no smoothing.
945 \value SmoothTransformation The resulting image is transformed
946 using bilinear filtering.
953 This enum type defines three values to represent the three
954 axes in the cartesian coordinate system.
956 \value XAxis The X axis.
957 \value YAxis The Y axis.
958 \value ZAxis The Z axis.
960 \sa QTransform::rotate(), QTransform::rotateRadians()
964 \enum Qt::WidgetAttribute
966 \keyword widget attributes
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.
973 \value WA_AcceptDrops Allows data from drag and drop operations
974 to be dropped onto the widget (see QWidget::setAcceptDrops()).
976 \value WA_AlwaysShowToolTips Enables tooltips for inactive windows.
978 \value WA_CustomWhatsThis Indicates that the widget wants to
979 continue operating normally in "What's This?" mode. This is set by the
982 \value WA_DeleteOnClose Makes Qt delete this widget when the
983 widget has accepted the close event (see QWidget::closeEvent()).
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
990 \value WA_DontShowOnScreen Indicates that the widget is hidden or is
991 not a part of the viewable Desktop.
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().
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().
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.
1009 \value WA_InputMethodEnabled Enables input methods for Asian languages.
1010 Must be set when creating custom text editing widgets.
1012 \value WA_KeyboardFocusChange Set on a toplevel window when
1013 the users changes focus with the keyboard (tab, backtab, or shortcut).
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
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.
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.
1040 \value WA_LayoutUsesWidgetRect Ignore the layout item rect from the style
1041 when laying out this widget with QLayout.
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.
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.
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.
1058 \value WA_MacSmallSize Indicates the widget should have the small
1059 size for widgets in \macos. This attribute is only applicable to
1062 \value WA_MacMiniSize Indicates the widget should have the mini
1063 size for widgets in \macos. This attribute is only applicable to
1066 \value WA_Mapped Indicates that the widget is mapped on screen.
1067 This is set/cleared by the Qt kernel.
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
1074 \value WA_MouseTracking Indicates that the widget has mouse
1075 tracking enabled. See QWidget::mouseTracking.
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().
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
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.
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.
1096 \value WA_NoMousePropagation Prohibits mouse events from being propagated
1097 to the widget's parent. This attribute is disabled by default.
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.
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
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
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.
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.
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.
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
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
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.
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().
1163 \value WA_RightToLeft Indicates that the layout direction for the widget
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().
1169 \value WA_SetFont Indicates that the widget has a font of its own. This
1170 flag is set or cleared by QWidget::setFont().
1172 \value WA_SetPalette Indicates that the widget has a palette of its own.
1173 This flag is set or cleared by QWidget::setPalette().
1175 \value WA_SetStyle Indicates that the widget has a style of its own. This
1176 flag is set or cleared by QWidget::setStyle().
1178 \value WA_ShowModal \e{This attribute has been deprecated.} Use
1179 QWidget::windowModality instead.
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.
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
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.
1195 \value WA_TabletTracking Indicates that the widget has tablet
1196 tracking enabled. See QWidget::tabletTracking.
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.
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.
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.
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().
1222 \value WA_WindowPropagation Makes a toplevel window inherit font, palette
1223 and locale from its parent.
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.
1229 \value WA_SetLocale Indicates the locale should be taken into consideration
1232 \value WA_StyledBackground Indicates the widget should be drawn using a
1235 \value WA_ShowWithoutActivating Show the widget without making it active.
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.
1241 \value WA_DontCreateNativeAncestors Indicates that the widget's ancestors
1242 are kept non-native even though the widget itself is native.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
1325 \value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single
1326 touch events to be sent to the widget.
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
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.
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.
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
1380/*! \typedef Qt::HANDLE
1382 A handle type for system objects, defined as \c{void *}
1389 The key names used by Qt.
1394 \value Key_Backspace
1396 \value Key_Enter Typically located on the keypad.
1399 \value Key_Pause The Pause/Break key (\b Note: Not related to pausing media)
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
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
1420 \value Key_AltGr On Windows, when the KeyDown event for this key is
1421 sent, the Ctrl+Alt modifiers are also set.
1424 \value Key_ScrollLock
1466 \value Key_Direction_L
1467 \value Key_Direction_R
1473 \value Key_NumberSign
1476 \value Key_Ampersand
1477 \value Key_Apostrophe
1478 \value Key_ParenLeft
1479 \value Key_ParenRight
1497 \value Key_Semicolon
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
1537 \value Key_BraceRight
1538 \value Key_AsciiTilde
1539 \value Key_nobreakspace
1540 \value Key_exclamdown
1545 \value Key_brokenbar
1547 \value Key_diaeresis
1548 \value Key_copyright
1549 \value Key_ordfeminine
1550 \value Key_guillemotleft
1553 \value Key_registered
1556 \value Key_plusminus
1557 \value Key_twosuperior
1558 \value Key_threesuperior
1560 \value [since 6.7] Key_micro
1561 \value Key_mu Deprecated alias for Key_micro
1562 \value Key_paragraph
1563 \value Key_periodcentered
1565 \value Key_onesuperior
1566 \value Key_masculine
1567 \value Key_guillemotright
1568 \value Key_onequarter
1570 \value Key_threequarters
1571 \value Key_questiondown
1574 \value Key_Acircumflex
1576 \value Key_Adiaeresis
1582 \value Key_Ecircumflex
1583 \value Key_Ediaeresis
1586 \value Key_Icircumflex
1587 \value Key_Idiaeresis
1592 \value Key_Ocircumflex
1594 \value Key_Odiaeresis
1599 \value Key_Ucircumflex
1600 \value Key_Udiaeresis
1605 \value Key_ydiaeresis
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
1619 \value Key_Hiragana_Katakana
1622 \value Key_Zenkaku_Hankaku
1625 \value Key_Kana_Lock
1626 \value Key_Kana_Shift
1627 \value Key_Eisu_Shift
1628 \value Key_Eisu_toggle
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
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
1693 \value Key_VolumeDown
1694 \value Key_VolumeMute
1696 \value Key_BassBoost
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)
1709 \value Key_Favorites
1713 \value Key_LaunchMail
1714 \value Key_LaunchMedia
1733 \value Key_MonBrightnessUp
1734 \value Key_MonBrightnessDown
1735 \value Key_KeyboardLightOnOff
1736 \value Key_KeyboardBrightnessUp
1737 \value Key_KeyboardBrightnessDown
1741 \value Key_ScreenSaver
1744 \value Key_LightBulb
1747 \value Key_AddFavorite
1749 \value Key_BrightnessAdjust
1751 \value Key_Community
1752 \value Key_AudioRewind
1753 \value Key_BackForward
1754 \value Key_ApplicationLeft
1755 \value Key_ApplicationRight
1758 \value Key_Calculator
1760 \value Key_ClearGrab
1766 \value Key_Documents
1779 \value Key_OfficeHome
1786 \value Key_RotateWindows
1787 \value Key_RotationPB
1788 \value Key_RotationKB
1792 \value Key_SplitScreen
1804 \value Key_Messenger
1806 \value Key_MailForward
1810 \value Key_Bluetooth
1813 \value Key_AudioForward
1814 \value Key_AudioRepeat
1815 \value Key_AudioRandomPlay
1817 \value Key_AudioCycleTrack
1819 \value Key_Hibernate
1822 \value Key_PowerDown
1824 \value Key_ContrastAdjust
1825 \value Key_TouchpadToggle
1826 \value Key_TouchpadOn
1827 \value Key_TouchpadOff
1833 \value Key_ChannelUp
1834 \value Key_ChannelDown
1838 \value Key_MicVolumeUp
1839 \value Key_MicVolumeDown
1845 \value Key_MediaLast
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.
1856 \value Key_Hangup A key to end an ongoing call (see Qt::Key_ToggleCallHangup for a key to toggle current call state)
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
1872 \sa QKeyEvent::key()
1876 \enum Qt::HitTestAccuracy
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.
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.
1888 \enum Qt::WhiteSpaceMode
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.
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
1900 \omitvalue WhiteSpaceModeUndefined
1904 \enum Qt::CheckState
1906 This enum describes the state of checkable items, controls, and widgets.
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.
1914 \sa QCheckBox, Qt::ItemFlags, Qt::ItemDataRole
1919 \enum Qt::ToolButtonStyle
1921 The style of the tool button, describing how the button's text and
1922 icon should be displayed.
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}.
1934 This enum type specifies a corner in a rectangle:
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.
1945 This enum type specifies an edge in a rectangle:
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.
1956 \enum Qt::ScrollBarPolicy
1958 This enum type describes the various modes of QAbstractScrollArea's scroll
1961 \value ScrollBarAsNeeded QAbstractScrollArea shows a scroll bar when the
1962 content is too large to fit and not otherwise. This is the
1965 \value ScrollBarAlwaysOff QAbstractScrollArea never shows a scroll bar.
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
1971 (The modes for the horizontal and vertical scroll bars are
1986 \enum Qt::FocusReason
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.
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;
1997 \value ActiveWindowFocusReason The window system made this window either
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.
2005 \omitvalue NoFocusReason
2007 \sa {Keyboard Focus in Widgets}
2011 \enum Qt::WindowState
2013 \keyword window state
2015 This enum type is used to specify the current state of a top-level
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.
2029 \enum Qt::ApplicationState
2031 \keyword application state
2033 This enum type is used to specify the current state of the application.
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.
2059 \enum Qt::ScreenOrientation
2061 This enum type specifies the various orientations a screen might have.
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.
2072 \enum Qt::ContextMenuPolicy
2074 This enum type defines the various policies a widget can have with
2075 respect to showing a context menu.
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.
2090 \enum Qt::ContextMenuTrigger
2093 This enum type defines the mouse event used to trigger a context menu event.
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.
2098 \sa QStyleHints::contextMenuTrigger
2102 \enum Qt::FocusPolicy
2104 This enum type defines the various policies a widget can have with
2105 respect to acquiring keyboard focus.
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.
2120 \enum Qt::TabFocusBehavior
2123 This enum type provides different focus behaviors for tab navigation.
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.
2133 \enum Qt::ShortcutContext
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:
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.
2153 \enum Qt::WindowType
2155 \keyword window flag
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.
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.
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.
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.
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.
2192 \value Drawer Indicates that the widget is a drawer on \macos.
2193 This feature is obsolete. Setting the flag
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.
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.
2218 \value ToolTip Indicates that the widget is a tooltip. This is
2219 used internally to implement
2220 \l{QWidget::toolTip}{tooltips}.
2222 \value SplashScreen Indicates that the window is a splash screen.
2223 This is the default type for QSplashScreen.
2225 \omitvalue Desktop Indicates that this widget is the desktop.
2227 \value SubWindow Indicates that this widget is a sub-window, such
2228 as a QMdiSubWindow widget.
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.
2234 \value CoverWindow Indicates that the window represents a cover window,
2235 which is shown when the application is minimized on
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
2242 \value MSWindowsFixedSizeDialogHint Gives the window a thin dialog border on Windows.
2243 This style is traditionally used for fixed-size dialogs.
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
2251 \value MSWindowsOwnDC Gives the window its own display
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.
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).
2265 \value FramelessWindowHint Produces a borderless window.
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.
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.
2277 \value NoDropShadowWindowHint Disables window drop shadow on supporting platforms.
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.
2285 \value CustomizeWindowHint Turns off the default window title hints.
2287 \value WindowTitleHint Gives the window a title bar.
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.
2294 \value WindowMinimizeButtonHint Adds a minimize button. On
2295 some platforms this implies Qt::WindowSystemMenuHint for it to work.
2297 \value WindowMaximizeButtonHint Adds a maximize button. On
2298 some platforms this implies Qt::WindowSystemMenuHint for it to work.
2300 \value WindowMinMaxButtonsHint Adds a minimize and a maximize
2301 button. On some platforms this implies Qt::WindowSystemMenuHint for it to work.
2303 \value WindowCloseButtonHint Adds a close button. On
2304 some platforms this implies Qt::WindowSystemMenuHint for it
2307 \value WindowContextHelpButtonHint Adds a context help button to dialogs.
2308 On some platforms this implies Qt::WindowSystemMenuHint for it to work.
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).
2313 \value WindowFullscreenButtonHint On \macos adds a fullscreen button.
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
2322 \value WindowShadeButtonHint Adds a shade button in place of the minimize
2323 button if the underlying window manager supports it.
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
2331 \value WindowStaysOnBottomHint Informs the window system that the
2332 window should stay on bottom of all other windows.
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
2340 \note On Windows, this will work only for frameless or
2341 full-screen windows.
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.
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.
2351 \value WindowDoesNotAcceptFocus Informs the window system that this window should
2352 not receive the input focus.
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.
2363 \value WindowType_Mask A mask for extracting the window type
2364 part of the window flags.
2366 \sa QWidget::windowFlags, {Window Flags Example}
2370 \enum Qt::FindChildOption
2372 \value FindDirectChildrenOnly Looks only at the direct children of the object.
2373 \value FindChildrenRecursively Looks at all children of the object (recursive search).
2377 \enum Qt::DropAction
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.
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
2388 On X11 this value is used to do a move.
2389 TargetMoveAction is not used on the Mac.
2395 This enum describes how the items in a widget are sorted.
2397 \value AscendingOrder The items are sorted ascending e.g. starts with
2398 'AAA' ends with 'ZZZ' in Latin-1 locales
2400 \value DescendingOrder The items are sorted descending e.g. starts with
2401 'ZZZ' ends with 'AAA' in Latin-1 locales
2405 \enum Qt::SplitBehaviorFlags
2408 This enum specifies how the split() functions should behave with
2409 respect to empty strings.
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.
2414 \sa QString::split()
2418 \enum Qt::ClipOperation
2420 \value NoClip This operation turns clipping off.
2422 \value ReplaceClip Replaces the current clip path/rect/region with
2423 the one supplied in the function call.
2425 \value IntersectClip Intersects the current clip path/rect/region
2426 with the one supplied in the function call.
2430 \enum Qt::ItemSelectionMode
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
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
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.
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.
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.
2457 \sa QGraphicsScene::items(), QGraphicsScene::collidingItems(),
2458 QGraphicsView::items(), QGraphicsItem::collidesWithItem(),
2459 QGraphicsItem::collidesWithPath()
2463 \enum Qt::ItemSelectionOperation
2465 This enum is used in QGraphicsScene to specify what to do with currently selected
2466 items when setting a selection area.
2468 \value ReplaceSelection The currently selected items are replaced by items
2469 in the selection area.
2471 \value AddToSelection The items in the selection area are added to the currently
2474 \sa QGraphicsScene::setSelectionArea()
2480 Specifies which method should be used to fill the paths and polygons.
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
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.
2502 \enum Qt::TextFormat
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()
2510 \value PlainText The text string is interpreted as a plain text
2513 \value RichText The text string is interpreted as a rich text
2514 string. See \l {Supported HTML Subset} for the definition
2517 \value AutoText The text string is interpreted as for
2518 Qt::RichText if Qt::mightBeRichText() returns \c true, otherwise
2521 \value MarkdownText The text string is interpreted as Markdown-formatted text.
2522 This enum value was added in Qt 5.14.
2526 \enum Qt::CursorShape
2528 This enum type defines the various cursors that can be used.
2530 The standard arrow cursor is the default for widgets in a normal state.
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
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
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
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
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
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
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
2603 \value DragLinkCursor
2604 A cursor that is usually used when dragging an item
2605 to make a link to it.
2608 \omitvalue LastCursor
2609 \omitvalue CustomCursor
2613 \enum Qt::LayoutDirection
2615 Specifies the direction of Qt's layouts and text handling.
2617 \value LeftToRight Left-to-right layout.
2618 \value RightToLeft Right-to-left layout.
2619 \value LayoutDirectionAuto Automatic layout.
2621 Right-to-left layouts are necessary for certain languages,
2622 notably Arabic and Hebrew.
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().
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.
2631 \sa QGuiApplication::setLayoutDirection(), QWidget::setLayoutDirection(), QTextOption::setTextDirection(), QString::isRightToLeft()
2635 \enum Qt::AnchorPoint
2637 Specifies a side of a layout item that can be anchored. This is used by
2638 QGraphicsAnchorLayout.
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.
2649 \sa QGraphicsAnchorLayout
2653 \enum Qt::InputMethodHint
2655 \value ImhNone No hints.
2657 Flags that alter the behavior:
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.
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).
2675 \value ImhMultiLine Multiple lines can be entered into the text field.
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.
2680 Flags that restrict input (exclusive flags):
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.
2693 \value ImhExclusiveInputMask This mask yields nonzero if any of the exclusive flags are used.
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.
2699 \sa QGraphicsItem::inputMethodHints()
2703 \enum Qt::InputMethodQuery
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.
2738 \value ImQueryInput Commonly changed properties on input.
2739 \value ImQueryAll Query for all input method properties.
2741 \sa QInputMethodQueryEvent
2745 \enum Qt::EnterKeyType
2747 This can be used to alter the appearance of the Return key on an on-screen keyboard.
2749 \note Not all of these values are supported on all platforms.
2750 For unsupported values the default key will be used instead.
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.
2776 \enum Qt::ItemDataRole
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.
2783 The general purpose roles (and the associated types) are:
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
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?"
2794 \value SizeHintRole The size hint for the item that will be supplied
2797 Roles describing appearance and meta data (with associated types):
2799 \value FontRole The font used for items rendered with the default
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.
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).
2813 Accessibility roles (with associated types):
2815 \value AccessibleTextRole The text to be used by accessibility
2816 extensions and plugins, such as screen
2818 \value AccessibleDescriptionRole A description of the item for accessibility
2823 \value UserRole The first role that can be used for application-specific purposes.
2825 \omitvalue DisplayPropertyRole
2826 \omitvalue DecorationPropertyRole
2827 \omitvalue ToolTipPropertyRole
2828 \omitvalue StatusTipPropertyRole
2829 \omitvalue WhatsThisPropertyRole
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.
2838 This enum describes the properties of an item:
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.
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.
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.
2865 \sa QAbstractItemModel
2871 This enum describes the type of matches that can be used when searching
2872 for items in a model.
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
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.
2902 \sa QString::compare(), QRegularExpression
2906 \enum Qt::TextElideMode
2908 This enum specifies where the ellipsis should appear when
2909 displaying texts that don't fit:
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.
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...}").
2925 \sa QAbstractItemView::textElideMode, QFontMetrics::elidedText(), AlignmentFlag, QTabBar::elideMode
2929 \enum Qt::WindowModality
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.
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.
2942 \sa QWidget::windowModality, QDialog
2946 \enum Qt::TextInteractionFlag
2948 This enum specifies how a text displaying widget reacts to user input.
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.
2958 \value TextEditorInteraction The default for a text editor.
2959 \value TextBrowserInteraction The default for QTextBrowser.
2965 This enum specifies the behavior of the
2966 QPixmap::createMaskFromColor() and QImage::createMaskFromColor()
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.
2974 \enum Qt::DockWidgetAreaSizes
2979 \enum Qt::ToolBarAreaSizes
2984 \enum Qt::EventPriority
2986 This enum can be used to specify event priorities.
2988 \value HighEventPriority Events with this priority are sent before
2989 events with NormalEventPriority or LowEventPriority.
2991 \value NormalEventPriority Events with this priority are sent
2992 after events with HighEventPriority, but before events with
2995 \value LowEventPriority Events with this priority are sent after
2996 events with HighEventPriority or NormalEventPriority.
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:
3003 \snippet code/doc_src_qnamespace.cpp 1
3005 \sa QCoreApplication::postEvent()
3011 This enum is used by QGraphicsLayoutItem::sizeHint()
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
3019 \sa QGraphicsLayoutItem::sizeHint()
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.
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.
3036 \enum Qt::WindowFrameSection
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.
3045 \value TopLeftSection
3047 \value TopRightSection
3049 \value BottomRightSection
3050 \value BottomSection
3051 \value BottomLeftSection
3054 \sa QGraphicsWidget::windowFrameEvent()
3055 \sa QGraphicsWidget::paintWindowFrame()
3056 \sa QGraphicsWidget::windowFrameSectionAt()
3064 This enum describes how to repeat or stretch the parts of an image
3067 \value StretchTile Scale the image to fit to the available area.
3069 \value RepeatTile Repeat the image until there is no more space. May
3070 crop the last image.
3072 \value RoundTile Similar to Repeat, but scales the image down to
3073 ensure that the last tile is not cropped.
3077 \enum Qt::Initialization
3082 \enum Qt::Disambiguated_t
3087 \enum Qt::CoordinateSystem
3090 This enum specifies the coordinate system.
3092 \value DeviceCoordinates Coordinates are relative to the top-left corner
3093 of the object's paint device.
3095 \value LogicalCoordinates Coordinates are relative to the top-left corner
3099/*! \enum Qt::TouchPointState
3102 This enum represents the state of a touch point at the time a
3103 QTouchEvent occurred.
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.
3113 \enum Qt::GestureState
3116 This enum type describes the state of a gesture.
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.
3128 \enum Qt::GestureType
3131 This enum type describes the standard gestures.
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
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.
3146 \sa QGesture, QWidget::grabGesture(), QGraphicsObject::grabGesture()
3150 \enum Qt::GestureFlag
3153 This enum type describes additional flags that can be used when subscribing
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.
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.
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.
3172 \sa QWidget::grabGesture(), QGraphicsObject::grabGesture()
3176 \enum Qt::NativeGestureType
3179 This enum returns the gesture type.
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.
3192 \enum Qt::NavigationMode
3195 This enum type describes the mode for moving focus.
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()
3217 \enum Qt::CursorMoveStyle
3219 This enum describes the movement style available to text cursors. The options
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
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.
3234 The timer type indicates how accurate a timer can be.
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
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.
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.
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).
3260 \relates QChronoTimer
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.
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()
3272 \sa QTimer::id(), QChronoTimer::id(), QObject::startTimer()
3276 \enum Qt::ScrollPhase
3279 This enum describes the phase of scrolling.
3281 \value NoScrollPhase The input device doesn't support scroll phase.
3282 This value was introduced in Qt 5.7.
3284 \value ScrollBegin Scrolling is about to begin, but the scrolling
3285 distance did not yet change.
3287 \value ScrollUpdate The scrolling distance has changed (default).
3289 \value ScrollEnd Scrolling has ended, and the scrolling distance
3290 did not change anymore.
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.
3298 \enum Qt::MouseEventSource
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.
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
3310 \value MouseEventSynthesizedBySystem Indicates that the mouse
3311 event was synthesized from a touch event by the platform.
3313 \value MouseEventSynthesizedByQt Indicates that the mouse event was
3314 synthesized from an unhandled touch event by Qt.
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
3322 \sa Qt::AA_SynthesizeMouseForUnhandledTouchEvents
3326 \enum Qt::MouseEventFlag
3329 This enum provides additional information concerning a QMouseEvent.
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}.
3335 \omitvalue NoMouseEventFlag
3336 \omitvalue MouseEventFlagMask
3340 \enum Qt::ChecksumType
3343 This enum describes the possible standards used by qChecksum().
3345 \value ChecksumIso3309 Checksum calculation based on ISO 3309.
3347 \value ChecksumItuV41 Checksum calculation based on ITU-V.41.
3351 \enum Qt::HighDpiScaleFactorRoundingPolicy
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.
3357 The active policy is set by calling QGuiApplication::setHighDdpiScaleFactorRoundingPolicy() before
3358 the application object is created.
3360 \sa QGuiApplication::setHighDpiScaleFactorRoundingPolicy()
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.
3371 \enum Qt::PermissionStatus
3373 This enum describes the possible statuses of a permissions.
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.
3381 The user has explicitly granted the application the permission,
3382 or the permission is known to not require user authorization on
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.
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
3398 \sa QCoreApplication::requestPermission(), QCoreApplication::checkPermission(),
3399 {Application Permissions}
3403 \enum Qt::ReturnByValueConstant
3406 This is a dummy type, designed to help users transition from certain deprecated APIs to their replacement APIs.
3408 \omitvalue ReturnByValue
3410 \sa QCursor::bitmap()
3412 \sa QLabel::picture()
3413 \sa QLabel::pixmap()
3417 \class QKeyCombination
3420 \brief The QKeyCombination class stores a combination of a key with optional modifiers.
3424 The QKeyCombination class can be used to represent a combination of a key
3425 with zero or more keyboard modifiers.
3431 \fn QKeyCombination::QKeyCombination(Qt::Key key = Qt::Key_unknown) noexcept
3433 Constructs a QKeyCombination object that represents the key \a key
3440 \fn QKeyCombination::QKeyCombination(Qt::Modifiers modifiers, Qt::Key key = Qt::Key_unknown) noexcept
3442 Constructs a QKeyCombination object that represents the combination
3443 of \a key with the modifiers \a modifiers.
3445 \sa key(), keyboardModifiers()
3449 \fn QKeyCombination::QKeyCombination(Qt::KeyboardModifiers modifiers, Qt::Key key = Qt::Key_unknown) noexcept
3451 Constructs a QKeyCombination object that represents the combination
3452 of \a key with the modifiers \a modifiers.
3454 \sa key(), keyboardModifiers()
3458 \fn Qt::KeyboardModifiers QKeyCombination::keyboardModifiers() const noexcept
3460 Returns the keyboard modifiers represented by this QKeyCombination object.
3466 \fn Qt::Key QKeyCombination::key() const noexcept
3468 Returns the key represented by this QKeyCombination object.
3470 \sa keyboardModifiers()
3474 \fn QKeyCombination QKeyCombination::fromCombined(int combined)
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.
3486 \fn int QKeyCombination::toCombined() const noexcept
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().
3493 \sa fromCombined(), key(), keyboardModifiers()
3496#if QT_DEPRECATED_SINCE(6, 0)
3498 \fn QKeyCombination::operator int() const noexcept
3501 Use toCombined() instead.
3506 \fn bool QKeyCombination::operator==(const QKeyCombination &lhs, const QKeyCombination &rhs)
3508 Returns \c true if \a lhs and \a rhs have the same combination
3509 of key and modifiers, and \c false otherwise.
3513 \fn bool QKeyCombination::operator!=(const QKeyCombination &lhs, const QKeyCombination &rhs)
3515 Returns \c true if \a lhs and \a rhs have different combinations
3516 of key and modifiers, otherwise \c false.
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
3525 \relates QKeyCombination
3527 Returns a QKeyCombination object that represents the combination
3528 of \a key with the modifier \a modifier.
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
3537 \relates QKeyCombination
3539 Returns a QKeyCombination object that represents the combination
3540 of \a key with the modifiers \a modifiers.
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
3549 \relates QKeyCombination
3552 Use operator| instead.
3554 Returns a QKeyCombination object that represents the combination
3555 of \a key with the modifier \a modifier.
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
3564 \relates QKeyCombination
3567 Use operator| instead.
3569 Returns a QKeyCombination object that represents the combination
3570 of \a key with the modifiers \a modifiers.
3574 \fn size_t qHash(QKeyCombination key, size_t seed = 0) noexcept
3575 \relates QKeyCombination
3577 Returns the hash value for the \a key, using \a seed to seed the calculation.
3580#ifndef QT_NO_DEBUG_STREAM
3582 \fn QDebug operator<<(QDebug debug, QKeyCombination combination)
3583 \relates QKeyCombination
3585 Writes the combination \a combination into the debug object \a debug for
3588 \sa {Debugging Techniques}
3592#ifndef QT_NO_DATASTREAM
3594 \fn QDataStream &operator<<(QDataStream &out, QKeyCombination combination)
3595 \relates QKeyCombination
3597 Writes the combination \a combination into the stream \a out.
3600 \sa {Serializing Qt Data Types}
3604 \fn QDataStream &operator>>(QDataStream &in, QKeyCombination &combination)
3605 \relates QKeyCombination
3607 Reads the combination \a combination from the stream \a in.
3610 \sa {Serializing Qt Data Types}