本页内容

Qt Namespace

Qt 命名空间包含 Qt 库中各处使用的各种标识符。更多内容...

头文件: #include <Qt>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

命名空间

namespace Literals

类

(since 6.12) struct has_qt_compare_three_way
(since 6.7) class partial_ordering
(since 6.7) class strong_ordering
(since 6.8) class totally_ordered_wrapper
(since 6.7) class weak_ordering

类型

flags Alignment
enum AlignmentFlag { AlignLeft, AlignRight, AlignHCenter, AlignJustify, AlignTop, …, AlignVertical_Mask }
enum AnchorPoint { AnchorLeft, AnchorHorizontalCenter, AnchorRight, AnchorTop, AnchorVerticalCenter, AnchorBottom }
enum ApplicationAttribute { AA_QtQuickUseDefaultSizePolicy, AA_DontShowIconsInMenus, AA_DontShowShortcutsInContextMenus, AA_NativeWindows, AA_DontCreateNativeWidgetSiblings, …, AA_DontUseNativeMenuWindows }
enum ApplicationState { ApplicationSuspended, ApplicationHidden, ApplicationInactive, ApplicationActive }
flags ApplicationStates
enum ArrowType { NoArrow, UpArrow, DownArrow, LeftArrow, RightArrow }
enum AspectRatioMode { IgnoreAspectRatio, KeepAspectRatio, KeepAspectRatioByExpanding }
enum Axis { XAxis, YAxis, ZAxis }
enum BGMode { TransparentMode, OpaqueMode }
enum BrushStyle { NoBrush, SolidPattern, Dense1Pattern, Dense2Pattern, Dense3Pattern, …, TexturePattern }
enum CaseSensitivity { CaseInsensitive, CaseSensitive }
enum CheckState { Unchecked, PartiallyChecked, Checked }
enum ChecksumType { ChecksumIso3309, ChecksumItuV41 }
enum ClipOperation { NoClip, ReplaceClip, IntersectClip }
enum class ColorScheme { Unknown, Light, Dark }
enum ConnectionType { AutoConnection, DirectConnection, QueuedConnection, BlockingQueuedConnection, UniqueConnection, SingleShotConnection }
enum ContextMenuPolicy { NoContextMenu, PreventContextMenu, DefaultContextMenu, ActionsContextMenu, CustomContextMenu }
(since 6.8) enum class ContextMenuTrigger { Press, Release }
(since 6.10) enum class ContrastPreference { NoPreference, HighContrast }
enum CoordinateSystem { DeviceCoordinates, LogicalCoordinates }
enum Corner { TopLeftCorner, TopRightCorner, BottomLeftCorner, BottomRightCorner }
enum CursorMoveStyle { LogicalMoveStyle, VisualMoveStyle }
enum CursorShape { ArrowCursor, UpArrowCursor, CrossCursor, WaitCursor, IBeamCursor, …, BitmapCursor }
enum DateFormat { TextDate, ISODateWithMs, ISODate, RFC2822Date }
enum DayOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, …, Sunday }
enum DockWidgetArea { LeftDockWidgetArea, RightDockWidgetArea, TopDockWidgetArea, BottomDockWidgetArea, AllDockWidgetAreas, NoDockWidgetArea }
flags DockWidgetAreas
enum DropAction { CopyAction, MoveAction, LinkAction, ActionMask, IgnoreAction, TargetMoveAction }
flags DropActions
enum Edge { TopEdge, LeftEdge, RightEdge, BottomEdge }
flags Edges
enum EnterKeyType { EnterKeyDefault, EnterKeyReturn, EnterKeyDone, EnterKeyGo, EnterKeySend, …, EnterKeyPrevious }
enum EventPriority { HighEventPriority, NormalEventPriority, LowEventPriority }
enum FillRule { OddEvenFill, WindingFill }
enum FindChildOption { FindDirectChildrenOnly, FindChildrenRecursively }
flags FindChildOptions
enum FocusPolicy { TabFocus, ClickFocus, StrongFocus, WheelFocus, NoFocus }
enum FocusReason { MouseFocusReason, TabFocusReason, BacktabFocusReason, ActiveWindowFocusReason, PopupFocusReason, …, OtherFocusReason }
enum GestureFlag { DontStartGestureOnChildren, ReceivePartialGestures, IgnoredGesturesPropagateToParent }
flags GestureFlags
enum GestureState { NoGesture, GestureStarted, GestureUpdated, GestureFinished, GestureCanceled }
enum GestureType { TapGesture, TapAndHoldGesture, PanGesture, PinchGesture, SwipeGesture, CustomGesture }
enum GlobalColor { white, black, red, darkRed, green, …, color1 }
HANDLE
enum class HighDpiScaleFactorRoundingPolicy { Round, Ceil, Floor, RoundPreferFloor, PassThrough }
enum HitTestAccuracy { ExactHit, FuzzyHit }
enum ImageConversionFlag { AutoColor, ColorOnly, MonoOnly, DiffuseDither, OrderedDither, …, NoFormatConversion }
flags ImageConversionFlags
enum InputMethodHint { ImhNone, ImhHiddenText, ImhSensitiveData, ImhNoAutoUppercase, ImhPreferNumbers, …, ImhExclusiveInputMask }
flags InputMethodHints
flags InputMethodQueries
enum InputMethodQuery { ImEnabled, ImCursorRectangle, ImFont, ImCursorPosition, ImSurroundingText, …, ImQueryAll }
enum ItemDataRole { DisplayRole, DecorationRole, EditRole, ToolTipRole, StatusTipRole, …, UserRole }
enum ItemFlag { NoItemFlags, ItemIsSelectable, ItemIsEditable, ItemIsDragEnabled, ItemIsDropEnabled, …, ItemIsUserTristate }
flags ItemFlags
enum ItemSelectionMode { ContainsItemShape, IntersectsItemShape, ContainsItemBoundingRect, IntersectsItemBoundingRect }
enum ItemSelectionOperation { ReplaceSelection, AddToSelection }
enum Key { Key_Escape, Key_Tab, Key_Backtab, Key_Backspace, Key_Return, …, Key_Cancel }
enum KeyboardModifier { NoModifier, ShiftModifier, ControlModifier, AltModifier, MetaModifier, …, GroupSwitchModifier }
flags KeyboardModifiers
enum LayoutDirection { LeftToRight, RightToLeft, LayoutDirectionAuto }
enum MaskMode { MaskInColor, MaskOutColor }
enum MatchFlag { MatchExactly, MatchFixedString, MatchContains, MatchStartsWith, MatchEndsWith, …, MatchRecursive }
flags MatchFlags
enum Modifier { SHIFT, META, CTRL, ALT }
flags Modifiers
(since 6.12) enum class MotionPreference { NoPreference, ReducedMotion }
enum MouseButton { NoButton, AllButtons, LeftButton, RightButton, MiddleButton, …, ExtraButton24 }
flags MouseButtons
enum MouseEventFlag { MouseEventCreatedDoubleClick }
flags MouseEventFlags
enum MouseEventSource { MouseEventNotSynthesized, MouseEventSynthesizedBySystem, MouseEventSynthesizedByQt, MouseEventSynthesizedByApplication }
enum NativeGestureType { BeginNativeGesture, EndNativeGesture, PanNativeGesture, ZoomNativeGesture, SmartZoomNativeGesture, …, SwipeNativeGesture }
enum Orientation { Horizontal, Vertical }
flags Orientations
enum PenCapStyle { FlatCap, SquareCap, RoundCap }
enum PenJoinStyle { MiterJoin, BevelJoin, RoundJoin, SvgMiterJoin }
enum PenStyle { NoPen, SolidLine, DashLine, DotLine, DashDotLine, …, CustomDashLine }
(since 6.5) enum class PermissionStatus { Undetermined, Granted, Denied }
enum ReturnByValueConstant { }
enum ScreenOrientation { PrimaryOrientation, LandscapeOrientation, PortraitOrientation, InvertedLandscapeOrientation, InvertedPortraitOrientation }
flags ScreenOrientations
enum ScrollBarPolicy { ScrollBarAsNeeded, ScrollBarAlwaysOff, ScrollBarAlwaysOn }
enum ScrollPhase { NoScrollPhase, ScrollBegin, ScrollUpdate, ScrollEnd, ScrollMomentum }
enum ShortcutContext { WidgetShortcut, WidgetWithChildrenShortcut, WindowShortcut, ApplicationShortcut }
enum SizeHint { MinimumSize, PreferredSize, MaximumSize, MinimumDescent }
enum SizeMode { AbsoluteSize, RelativeSize }
enum SortOrder { AscendingOrder, DescendingOrder }
flags SplitBehavior
enum SplitBehaviorFlags { KeepEmptyParts, SkipEmptyParts }
enum TabFocusBehavior { NoTabFocus, TabFocusTextControls, TabFocusListControls, TabFocusAllControls }
enum TextElideMode { ElideLeft, ElideRight, ElideMiddle, ElideNone }
enum TextFlag { TextSingleLine, TextDontClip, TextExpandTabs, TextShowMnemonic, TextWordWrap, …, TextJustificationForced }
enum TextFormat { PlainText, RichText, AutoText, MarkdownText }
enum TextInteractionFlag { NoTextInteraction, TextSelectableByMouse, TextSelectableByKeyboard, LinksAccessibleByMouse, LinksAccessibleByKeyboard, …, TextBrowserInteraction }
flags TextInteractionFlags
enum TileRule { StretchTile, RepeatTile, RoundTile }
enum TimeSpec { LocalTime, UTC, OffsetFromUTC, TimeZone }
(since 6.8) enum class TimerId { Invalid }
enum TimerType { PreciseTimer, CoarseTimer, VeryCoarseTimer }
enum ToolBarArea { LeftToolBarArea, RightToolBarArea, TopToolBarArea, BottomToolBarArea, AllToolBarAreas, NoToolBarArea }
flags ToolBarAreas
enum ToolButtonStyle { ToolButtonIconOnly, ToolButtonTextOnly, ToolButtonTextBesideIcon, ToolButtonTextUnderIcon, ToolButtonFollowStyle }
enum TouchPointState { TouchPointUnknownState, TouchPointPressed, TouchPointMoved, TouchPointStationary, TouchPointReleased }
flags TouchPointStates
enum TransformationMode { FastTransformation, SmoothTransformation }
enum UIEffect { UI_AnimateMenu, UI_FadeMenu, UI_AnimateCombo, UI_AnimateTooltip, UI_FadeTooltip, UI_AnimateToolBox }
enum WhiteSpaceMode { WhiteSpaceNormal, WhiteSpacePre, WhiteSpaceNoWrap }
enum WidgetAttribute { WA_AcceptDrops, WA_AlwaysShowToolTips, WA_CustomWhatsThis, WA_DeleteOnClose, WA_Disabled, …, WA_ContentsMarginsRespectsSafeArea }
flags WindowFlags
enum WindowFrameSection { NoSection, LeftSection, TopLeftSection, TopSection, TopRightSection, …, TitleBarArea }
enum WindowModality { NonModal, WindowModal, ApplicationModal }
enum WindowState { WindowNoState, WindowMinimized, WindowMaximized, WindowFullScreen, WindowActive }
flags WindowStates
enum WindowType { Widget, Window, Dialog, Sheet, Drawer, …, WindowType_Mask }
(since 6.12) if_has_qt_compare_three_way

函数

(since 6.2) void beginPropertyUpdateGroup()
QTextStream &bin(QTextStream&stream)
QTextStream &bom(QTextStream&stream)
QTextStream &center(QTextStream&stream)
(since 6.7) Qt::strong_ordering compareThreeWay(Enumlhs, Enumrhs)
(since 6.7) auto compareThreeWay(FloatTypelhs, IntTyperhs)
(since 6.7) auto compareThreeWay(IntTypelhs, FloatTyperhs)
(since 6.7) auto compareThreeWay(左浮点型lhs, 右浮点型rhs)
(since 6.7) auto compareThreeWay(左整数lhs, 右整数rhs)
(since 6.8) Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *>lhs, Qt::totally_ordered_wrapper<U *>rhs)
(since 6.8) Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *>lhs, U*rhs)
(since 6.8) Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *>lhs, std::nullptr_trhs)
(since 6.8) Qt::strong_ordering compareThreeWay(U*lhs, Qt::totally_ordered_wrapper<T *>rhs)
(since 6.12) auto compareThreeWay(const std::pair<T1, T2>&lhs, const std::pair<U1, U2>&rhs)
(since 6.8) Qt::strong_ordering compareThreeWay(std::nullptr_tlhs, Qt::totally_ordered_wrapper<T *>rhs)
QString convertFromPlainText(const QString&plain, Qt::WhiteSpaceModemode= WhiteSpacePre)
QTextStream &dec(QTextStream&stream)
(since 6.2) void endPropertyUpdateGroup()
QTextStream &endl(QTextStream&stream)
QTextStream &fixed(QTextStream&stream)
QTextStream &flush(QTextStream&stream)
QTextStream &forcepoint(QTextStream&stream)
QTextStream &forcesign(QTextStream&stream)
QTextStream &hex(QTextStream&stream)
QTextStream &left(QTextStream&stream)
QTextStream &lowercasebase(QTextStream&stream)
QTextStream &lowercasedigits(QTextStream&stream)
bool mightBeRichText(QAnyStringViewtext)
QTextStream &noforcepoint(QTextStream&stream)
QTextStream &noforcesign(QTextStream&流)
QTextStream &noshowbase(QTextStream&stream)
QTextStream &oct(QTextStream&stream)
QTextStream &reset(QTextStream&stream)
QTextStream &right(QTextStream&stream)
QTextStream &scientific(QTextStream&stream)
QTextStream &showbase(QTextStream&stream)
QTextStream &uppercasebase(QTextStream&stream)
QTextStream &uppercasedigits(QTextStream&stream)
QTextStream &ws(QTextStream&stream)
QKeyCombination operator|(Qt::Keykey, Qt::KeyboardModifiermodifier)
QKeyCombination operator|(Qt::Keykey, Qt::KeyboardModifiersmodifiers)
QKeyCombination operator|(Qt::Key键, Qt::Modifier修饰键)
QKeyCombination operator|(Qt::Keykey, Qt::Modifiersmodifiers)
QKeyCombination operator|(Qt::KeyboardModifier修饰键, Qt::Key键)
QKeyCombination operator|(Qt::KeyboardModifiers修饰符, Qt::Key键)
QKeyCombination operator|(Qt::Modifier修饰键, Qt::Key键)
QKeyCombination operator|(Qt::Modifiers修饰符, Qt::Key键)

详细说明

命名空间

namespace Qt::Literals

类

类has_qt_compare_three_way

一个用于检查类型是否支持compareThreeWay() 的类型特质。更多...

类partial_ordering

Qt::partial_ordering 表示允许结果无序的比较结果。更多...

类strong_ordering

Qt::strong_ordering 表示等价值无法区分的比较。更多...

classtotally_ordered_wrapper

Qt::totally_ordered_wrapper 是一种包装类型,为被包装的类型提供严格的总序。更多...

类weak_ordering

Qt::weak_ordering 表示一种比较,其中等价的值仍然可以区分。更多...

类型文档

enum Qt::AlignmentFlag
flags Qt::Alignment

该枚举类型用于描述对齐方式。它包含水平和垂直标志,可以通过组合这些标志来实现所需的效果。

TextElideMode 枚举还可在许多情况下用于微调对齐文本的外观。

水平对齐标志包括:

常量值描述
Qt::AlignLeft0x0001与左边缘对齐。
Qt::AlignRight0x0002与右边缘对齐。
Qt::AlignHCenter0x0004在可用空间内水平居中。
Qt::AlignJustify0x0008在可用空间内将文本两端对齐。

垂直标志包括:

常量值说明
Qt::AlignTop0x0020与顶部对齐。
Qt::AlignBottom0x0040与底部对齐。
Qt::AlignVCenter0x0080在可用空间内垂直居中。
Qt::AlignBaseline0x0100与基线对齐。

每次只能使用一个水平对齐标志。有一个二维对齐标志:

常量值描述
Qt::AlignCenterAlignVCenter | AlignHCenter在两个维度上均居中。

每次最多可同时使用一个水平标志和一个垂直标志。Qt::AlignCenter 同时计为水平和垂直标志。

在可运行于从右到左模式的应用程序中,以下三个枚举值非常有用:

常量值描述
Qt::AlignAbsolute0x0010如果小部件的布局方向为Qt::RightToLeft (而非默认的Qt::LeftToRight ),则 Qt::AlignLeft 指右边缘,Qt::AlignRight 指左边缘。这通常是期望的行为。 若希望 Qt::AlignLeft 始终表示“左”,Qt::AlignRight 始终表示“右”,请将该标志与 Qt::AlignAbsolute 结合使用。
Qt::AlignLeadingAlignLeftQt::AlignLeft 的同义词。
Qt::AlignTrailingAlignRightQt::AlignRight 的同义词。

掩码:

常量值
Qt::AlignHorizontal_MaskAlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute
Qt::AlignVertical_MaskAlignTop | AlignBottom | AlignVCenter | AlignBaseline

标志的冲突组合将产生未定义的行为。

Alignment 类型是QFlags<AlignmentFlag> 的 typedef。它存储 AlignmentFlag 值的按“或”运算组合。

enum Qt::AnchorPoint

指定布局项中可锚定的边。该属性由QGraphicsAnchorLayout 方法使用。

常量值描述
Qt::AnchorLeft0布局项的左侧。
Qt::AnchorHorizontalCenter1一个“虚拟”边,位于布局项的左边和右边之间,居中。
Qt::AnchorRight2布局项的右侧。
Qt::AnchorTop3布局项的顶部。
Qt::AnchorVerticalCenter4位于布局项顶侧和底侧中间的“虚拟”侧。
Qt::AnchorBottom5布局项的底部。

另请参阅 QGraphicsAnchorLayout 。

enum Qt::ApplicationAttribute

此枚举描述了会改变全局功能行为的属性。这些属性可通过QCoreApplication::setAttribute() 启用或禁用,并可通过QCoreApplication::testAttribute() 进行检测。

常量值描述
Qt::AA_QtQuickUseDefaultSizePolicy (since Qt 6.7)1Qt Quick Layouts 使用Item 的内置尺寸策略。例如,当设置此选项时,Button 会填满可用宽度,但高度保持固定。 如果未设置此属性,则将使用其所在布局的默认尺寸行为,即使用其隐式尺寸作为首选尺寸。详细说明请参见“指定首选尺寸 ”和“尺寸约束”。如果设置了此属性,则可以通过显式设置Layout.fillWidth 或Layout.fillHeight 来覆盖具有该布局的项目的默认尺寸策略。
Qt::AA_DontShowIconsInMenus2具有 Icon 属性的操作不会显示在任何菜单中,除非通过QAction::iconVisibleInMenu 属性进行明确设置。该属性的默认值取决于平台。要覆盖默认行为,请在QGuiApplication 实例化后设置该属性。 当前打开的菜单或已在原生 macOS 菜单栏中创建的菜单可能无法检测到此属性的更改。而QAction::iconVisibleInMenu 属性的更改将始终被检测到。
Qt::AA_DontShowShortcutsInContextMenus28具有 Shortcut 属性的操作不会显示在任何快捷菜单中,除非通过QAction::shortcutVisibleInContextMenu 属性进行专门设置。该值在 Qt 5.10 中新增,默认基于QStyleHints::showShortcutsInContextMenus() 返回的值。 若要覆盖默认行为,请在实例化 `QCoreApplication ` 之前设置样式提示,或在实例化 `QCoreApplication ` 之后设置此属性。
Qt::AA_NativeWindows3确保小部件具有原生窗口。
Qt::AA_DontCreateNativeWidgetSiblings4确保原生小部件的同级小部件保持非原生状态,除非由Qt::WA_NativeWindow 属性明确设置。
Qt::AA_PluginApplication5表示该插件使用 Qt 开发。根据操作系统的不同,它会抑制某些在插件场景下未必合理的特定初始化操作。 例如在 macOS 上,这包括避免加载主菜单的 nib 文件,以及不接管原生菜单栏。将此属性设置为 true 还将把 AA_DontUseNativeMenuBar 属性设为 true。它还会禁用原生事件过滤器。此属性必须在QGuiApplication 实例化之前设置。该值在 Qt 5.7 中新增。
Qt::AA_DontUseNativeMenuBar6当此属性设置为 true 时,所有创建的菜单栏都不会作为原生菜单栏使用(例如,macOS 主屏幕顶部的菜单栏)。
Qt::AA_MacDontSwapCtrlAndMeta7在 Apple 平台上,键盘快捷键通常基于 Command(或 Cmd)修饰键,该键由 ⌘ 符号表示。例如,“复制”操作的快捷键是 Command+C(⌘+C)。为了简化跨平台开发,Qt 会默认将 Command 键映射为Qt::ControlModifier ,以与其他平台保持一致。 这使得可以创建诸如“Ctrl+J”之类的键盘快捷键,在 macOS 上该快捷键将映射为 Command+J,这符合 macOS 用户的预期。Apple 平台上的实际 Control(或 Ctrl)修饰键(用 ⌃ 表示)则被映射为Qt::MetaModifier 。

当此属性设为 true 时,Qt 将不会进行重映射,按下 Command 修饰键将触发Qt::MetaModifier ,而按下 Control 修饰键将触发Qt::ControlModifier 。

请注意,QKeySequence::StandardKey 序列始终基于相同的修饰键(即无论设置何种值,QKeySequence::Copy 始终为Command+C),但QKeySequence::toString()的输出结果会有所不同。

常量值描述
Qt::AA_Use96Dpi8假设屏幕的分辨率为 96 DPI,而不是使用操作系统提供的分辨率。这将使字体渲染在不同设备上以每点像素为单位保持一致,而不是将 1 点定义为 1/72 英寸。
Qt::AA_SynthesizeTouchForUnhandledMouseEvents11所有未被应用程序接受的鼠标事件都将转换为触摸事件。
Qt::AA_SynthesizeMouseForUnhandledTouchEvents12所有未被应用程序接受的触摸事件都将转换为鼠标左键事件。此属性默认启用。
Qt::AA_ForceRasterWidgets14使顶级小部件使用纯光栅表面,且不支持非本地的基于 GL 的子小部件。
Qt::AA_UseDesktopOpenGL15在使用动态加载 OpenGL 实现的平台上,强制使用桌面版 OpenGL(例如opengl32.dll或libGL.so)。必须在构建QGuiApplication 之前设置此属性。该值在 Qt 5.3 中新增。
Qt::AA_UseOpenGLES16在使用动态加载 OpenGL 实现的平台上,强制使用 OpenGL ES 2.0 或更高版本。该属性必须在QGuiApplication 被构造之前设置。此值在 Qt 5.3 中新增。
Qt::AA_UseSoftwareOpenGL17在采用 OpenGL 实现动态加载的平台上,强制使用基于软件的 OpenGL 实现。这通常是Mesa llvmpipe 的打补丁版本,提供 OpenGL 2.1 支持。如果没有此类 OpenGL 实现可用,该值可能无效。 该库的默认名称为opengl32sw.dll ,可通过设置环境变量QT_OPENGL_DLL 进行覆盖。更多信息请参阅特定平台的文档,例如《Qt for Windows》。该属性必须在QGuiApplication 被构造之前设置。此值在 Qt 5.4 中新增。
Qt::AA_ShareOpenGLContexts18启用QOpenGLWidget 和QQuickWidget 等类所使用的 OpenGL 上下文之间的资源共享。这允许属于不同顶级窗口的QOpenGLWidget 实例之间共享 OpenGL 资源(如纹理)。该值自 Qt 5.4 起新增。
Qt::AA_SetPalette19指示是否已在QGuiApplication 上显式设置了调色板。该值在 Qt 5.5 中新增。
Qt::AA_UseStyleSheetPropagationInWidgetStyles22默认情况下,Qt 样式表会禁用常规的QWidget 调色板和字体传播。启用此标志后,样式表中进行的字体和调色板更改将在设置样式表时传播一次。更多详细信息请参阅《样式表语法 - 继承》。该值在 Qt 5.7 中新增。
Qt::AA_DontUseNativeDialogs23当此属性设置为 true 时,所有创建的对话框都不会使用平台提供的原生对话框。该值在 Qt 5.7 中新增。
Qt::AA_SynthesizeMouseForUnhandledTabletEvents24所有未被应用程序接受的平板电脑事件都将转换为鼠标事件。此属性默认启用。该值自 Qt 5.7 起新增。
Qt::AA_CompressHighFrequencyEvents25启用对某些高频事件的压缩。在 X11 窗口系统中,默认值为 true,这意味着当QEvent::MouseMove 、QEvent::TouchUpdate 以及窗口大小和位置的变化发生频率超过应用程序的处理能力时,这些事件将被合并,以避免它们积累并在后续阶段压垮应用程序。 在 Windows 8 及更高版本中,默认值也是 true,但仅适用于触摸事件。鼠标和窗口事件不受此标志影响。在 Wayland 上,默认值也是 true,但仅适用于鼠标事件。在其他平台上,默认值为 false。(未来,压缩功能可能会在各平台上实现。) 您可以通过测试该属性来查看压缩功能是否已启用。如果您的应用程序需要处理所有未压缩的事件,可以取消设置此属性。请注意,来自平板设备的输入事件不会被压缩。若希望这些事件也被压缩,请参阅 AA_CompressTabletEvents。该值在 Qt 5.7 中新增。
Qt::AA_CompressTabletEvents29启用对平板设备输入事件的压缩。 请注意,必须将 AA_CompressHighFrequencyEvents 设为 true 才能启用事件压缩,且此标志将前者的作用范围扩展至平板设备事件。目前支持 X11 窗口系统、Windows 8 及更高版本。默认值为 false。此属性在 Qt 5.10 中添加。
Qt::AA_DontCheckOpenGLContextThreadAffinity26在使用 `QOpenGLContext` 将上下文设为当前上下文时,不检查 `QOpenGLContext ` 对象的 `QObject thread affinity ` 是否与调用 `makeCurrent()` 的线程相同。该值在 Qt 5.8 中新增。
Qt::AA_DisableShaderDiskCache27禁用在磁盘上缓存着色器程序二进制文件。默认情况下,Qt Quick 、QPainter 的 OpenGL 后端,以及任何使用QOpenGLShaderProgram 及其addCacheableShaderFromSource重载之一的应用,都会在支持glProgramBinary() 的系统上,在共享或按进程划分的缓存存储位置中使用基于磁盘的程序二进制缓存。 如果极少数情况下这会引发问题,请将此属性设置为禁用所有基于磁盘的着色器缓存。
Qt::AA_DisableSessionManager31禁用QSessionManager 。默认情况下,Qt会在受支持的平台上为GUI应用程序连接到正在运行的会话管理器,而对于系统服务而言,使用会话管理器可能是不必要的。必须在构建QGuiApplication 之前设置此属性。此值在5.14版本中新增
Qt::AA_DisableNativeVirtualKeyboard9当设置此属性时,在没有物理键盘的系统上,文本输入控件获得焦点时,原生屏幕虚拟键盘将不会自动显示。目前仅在 Windows 平台上受支持。此值自 5.15 版本起新增
Qt::AA_DontUseNativeMenuWindows10当此属性设置为 true 时,创建的菜单弹出窗口(例如上下文菜单、组合框菜单和非原生菜单栏菜单)将不会作为原生顶级窗口显示,除非实现有此要求。此值在 Qt 6.8 中添加。

enum Qt::ApplicationState
flags Qt::ApplicationStates

此枚举类型用于指定应用程序的当前状态。

状态包括

常量值描述
Qt::ApplicationSuspended0x00000000应用程序即将暂停。进入此状态时,应用程序应保存其状态,停止所有活动,并做好停止代码执行的准备。在暂停期间,应用程序可能会在任何时候被终止,且不会再发出警告(例如,当内存不足时,操作系统会强制清除暂停的应用程序)。
Qt::ApplicationHidden0x00000001应用程序处于隐藏状态并在后台运行。这是应用程序在用户与其他应用程序交互时需要进行后台处理(如播放音乐)的正常状态。进入此状态时,应用程序应释放所有图形资源。
Qt::ApplicationInactive0x00000002应用程序可见,但未被选中置于最前端。在桌面平台上,这通常意味着用户激活了另一个应用程序。在移动平台上,更常见的情况是当操作系统因来电或短信等通知打断用户时,应用程序会进入此状态。处于此状态时,应考虑减少占用大量 CPU 资源的任务。
Qt::ApplicationActive0x00000004应用程序可见且被选中置于最前。

ApplicationStates 类型是QFlags<ApplicationState> 的 typedef。它存储 ApplicationState 值的按“或”运算组合。

enum Qt::ArrowType

常数值
Qt::NoArrow0
Qt::UpArrow1
Qt::DownArrow2
Qt::LeftArrow3
Qt::RightArrow4

enum Qt::AspectRatioMode

此枚举类型定义了在缩放矩形时宽高比的变化情况。

示意图展示了在“保持宽高比”模式下缩放图像的三种不同方法

常量值描述
Qt::IgnoreAspectRatio0尺寸可自由缩放。长宽比不会被保留。
Qt::KeepAspectRatio1尺寸被缩放为给定矩形内尽可能大的矩形,同时保持宽高比。
Qt::KeepAspectRatioByExpanding2尺寸将缩放为在给定矩形外部尽可能小的矩形,同时保持宽高比。

另请参阅 QSize::scale() 和QImage::scaled()。

enum Qt::Axis

该枚举类型定义了三个值,用于表示笛卡尔坐标系中的三个坐标轴。

常量值描述
Qt::XAxis0X 轴。
Qt::YAxis1Y 轴。
Qt::ZAxis2Z 轴。

另请参阅 QTransform::rotate() 和QTransform::rotateRadians()。

enum Qt::BGMode

后台模式:

常量值
Qt::TransparentMode0
Qt::OpaqueMode1

enum Qt::BrushStyle

该枚举类型定义了Qt支持的画笔样式,即使用QPainter 绘制形状时的填充图案。

笔刷样式

常量值描述
Qt::NoBrush0无画笔图案。
Qt::SolidPattern1均匀颜色。
Qt::Dense1Pattern2笔触图案极其密集。
Qt::Dense2Pattern3刷痕非常密集。
Qt::Dense3Pattern4笔触图案稍密。
Qt::Dense4Pattern5笔触略密。
Qt::Dense5Pattern6笔触分布稍显稀疏。
Qt::Dense6Pattern7非常稀疏的笔触图案。
Qt::Dense7Pattern8极其稀疏的笔触图案。
Qt::HorPattern9水平线。
Qt::VerPattern10垂直线。
Qt::CrossPattern11水平线与垂直线交叉。
Qt::BDiagPattern12向后倾斜的对角线。
Qt::FDiagPattern13向前倾斜的线条。
Qt::DiagCrossPattern14交叉的对角线。
Qt::LinearGradientPattern15线性渐变(使用专用的QBrush 构造函数设置)。
Qt::ConicalGradientPattern17锥形渐变(使用专用的QBrush 构造函数设置)。
Qt::RadialGradientPattern16径向渐变(使用专用的QBrush 构造函数设置)。
Qt::TexturePattern24自定义图案(参见QBrush::setTexture())。

另请参阅 QBrush 。

enum Qt::CaseSensitivity

常量值
Qt::CaseInsensitive0
Qt::CaseSensitive1

enum Qt::CheckState

此枚举描述可选中项、控件和小部件的状态。

常量值描述
Qt::Unchecked0该项目未被选中。
Qt::PartiallyChecked1该项目部分被选中。在分层模型中,如果其子项中只有部分(而非全部)被选中,则该项目可能被部分选中。
Qt::Checked2该项目已选中。

另请参阅 QCheckBox 、Qt::ItemFlags 以及Qt::ItemDataRole 。

enum Qt::ChecksumType

此枚举描述了qChecksum() 可能使用的标准。

常量值描述
Qt::ChecksumIso33090基于 ISO 3309 的校验和计算。
Qt::ChecksumItuV411基于 ITU-V.41 进行校验和计算。

enum Qt::ClipOperation

常数值描述
Qt::NoClip0此操作将关闭裁剪功能。
Qt::ReplaceClip1用函数调用中提供的剪切路径/矩形/区域替换当前的剪切路径/矩形/区域。
Qt::IntersectClip2将当前的剪切路径/矩形/区域与函数调用中提供的进行相交运算。

enum class Qt::ColorScheme

表示应用程序主题的外观,由QGuiApplication::palette() 定义。

常量值描述
Qt::ColorScheme::Unknown0外观未知。
Qt::ColorScheme::Light1背景颜色比文本颜色浅,即主题为浅色。
Qt::ColorScheme::Dark2背景颜色比文字颜色深,即主题为深色。

enum Qt::ConnectionType

该枚举描述了信号与插槽之间可使用的连接类型。具体而言,它决定了某个信号是立即传递给插槽,还是被排队以供稍后传递。

常量值描述
Qt::AutoConnection0(默认)如果接收方lives in 信号的发出线程,则使用 Qt::DirectConnection。否则,使用 Qt::QueuedConnection。连接类型在信号发出时确定。
Qt::DirectConnection1信号发出时,槽函数会立即被调用。槽函数在发出信号的线程中执行。
Qt::QueuedConnection2当控制权返回接收方线程的事件循环时,将调用该槽函数。该槽函数在接收方线程中执行。
Qt::BlockingQueuedConnection3与 Qt::QueuedConnection 相同,区别在于发送信号的线程会阻塞直至槽函数返回。如果接收方位于发送信号的线程中,则绝对不能使用此连接,否则应用程序将陷入死锁。
Qt::UniqueConnection0x80这是一个标志,可通过位或运算与上述任何一种连接类型组合使用。当设置 Qt::UniqueConnection 时,如果连接已存在(即同一对对象的同一信号已连接到同一槽),则QObject::connect() 将失败。
Qt::SingleShotConnection0x100这是一个可通过位或运算与上述任意一种连接类型组合使用的标志。当设置 Qt::SingleShotConnection 时,该槽仅会被调用一次;信号发出后,连接将自动断开。该标志于 Qt 6.0 中引入。

对于队列连接,参数的类型必须是 Qt 元对象系统所识别的,因为 Qt 需要在后台将参数复制并存储到事件中。如果您尝试使用队列连接并收到以下错误消息:

QObject::connect: Cannot queue arguments of type 'MyType'

请在建立连接前调用 `qRegisterMetaType()` 来注册该数据类型。

在多线程环境下使用信号与槽时,请参阅《跨线程的信号与槽》。

另请参阅 《Qt XML 中的多线程》、《QObject::connect()》、《qRegisterMetaType()》和《Q_DECLARE_METATYPE()》。

enum Qt::ContextMenuPolicy

该枚举类型定义了小部件在显示上下文菜单方面可能采用的各种策略。

常量值描述
Qt::NoContextMenu0该控件不提供上下文菜单,上下文菜单的处理交由控件的父级处理。
Qt::PreventContextMenu4该小部件不提供上下文菜单,且与NoContextMenu 不同,处理不会推迟到小部件的父级。这意味着所有鼠标右键事件都保证通过QWidget::mousePressEvent()和QWidget::mouseReleaseEvent()传递到小部件本身。
Qt::DefaultContextMenu1小部件的QWidget::contextMenuEvent() 处理程序被调用。
Qt::ActionsContextMenu2控件将其 `QWidget::actions()` 内容作为上下文菜单显示。
Qt::CustomContextMenu3控件发出QWidget::customContextMenuRequested()信号。

[since 6.8] enum class Qt::ContextMenuTrigger

此枚举类型定义了用于触发上下文菜单事件的鼠标事件。

常量值描述
Qt::ContextMenuTrigger::Press0鼠标按下事件时的上下文菜单,在 UNIX 系统上为默认值。
Qt::ContextMenuTrigger::Release1鼠标释放事件时的上下文菜单,这是 Windows 系统的默认行为。

该枚举在 Qt 6.8 中引入。

另请参阅 QStyleHints::contextMenuTrigger 。

[since 6.10] enum class Qt::ContrastPreference

表示用户首选的对比度设置。样式可通过提高前景色和背景色的对比度,以及为小部件和控件设置更粗的边框来遵循此设置。

常量值描述
Qt::ContrastPreference::NoPreference0无特定偏好。
Qt::ContrastPreference::HighContrast1用户希望应用程序采用高对比度模式。

该枚举在 Qt 6.10 中引入。

enum Qt::CoordinateSystem

此枚举用于指定坐标系。

常量值描述
Qt::DeviceCoordinates0坐标是相对于对象绘图设备的左上角的。
Qt::LogicalCoordinates1坐标相对于对象的左上角。

enum Qt::Corner

此枚举类型指定矩形中的一个角:

常量值描述
Qt::TopLeftCorner0x00000矩形的左上角。
Qt::TopRightCorner0x00001矩形的右上角。
Qt::BottomLeftCorner0x00002矩形的左下角。
Qt::BottomRightCorner0x00003矩形的右下角。

enum Qt::CursorMoveStyle

此枚举描述了文本光标可用的移动方式。选项包括:

常量值描述
Qt::LogicalMoveStyle0在从左到右的文本块中,按下左箭头键时光标位置向左移动,按下右箭头键时光标位置向右移动。如果文本块是从右到左的,则行为相反。
Qt::VisualMoveStyle1无论文本的书写方向如何,按下左箭头键都会使光标向左移动;按下右箭头键都会使光标向右移动。

enum Qt::CursorShape

此枚举类型定义了可用的各种光标。

标准箭头光标是小部件处于正常状态时的默认光标。

常量值描述
Qt::ArrowCursor0箭头光标 标准箭头光标。
Qt::UpArrowCursor1向上箭头光标 一个向上指向屏幕顶部的箭头。
Qt::CrossCursor2十字光标 十字准线光标,通常用于帮助用户精确选择屏幕上的某个点。
Qt::WaitCursor3等待光标 沙漏或时钟光标,通常在用户无法与应用程序交互的操作期间显示。
Qt::IBeamCursor4工字形光标 插入符或 I 形光标,表示该控件可以接受并显示文本输入。
Qt::SizeVerCursor5垂直调整大小光标 用于垂直调整顶级窗口大小的控件所使用的光标。
Qt::SizeHorCursor6水平调整大小光标 用于调整顶级窗口水平大小的控件所使用的光标。
Qt::SizeBDiagCursor7对角线调整大小的光标 用于通过右上角和左下角对顶级窗口进行对角线调整大小的控件的光标。
Qt::SizeFDiagCursor8对角线调整大小光标 用于通过顶部左侧和底部右侧角对顶级窗口进行对角线调整大小的元素的光标。
Qt::SizeAllCursor9移动光标 用于可沿任意方向调整顶级窗口大小的元素的光标。
Qt::BlankCursor10一个空白/不可见的光标,通常用于需要隐藏光标形状的情况。
Qt::SplitVCursor11垂直分割光标 用于垂直分割线的指针,表示可以水平拖动控点来调整可用空间的分配。
Qt::SplitHCursor12水平分割光标 用于水平分割线的光标,表示可以垂直拖动控点来调整可用空间的分配。
Qt::PointingHandCursor13指针形状的光标 一个指向手形光标,通常用于超链接等可点击元素。
Qt::ForbiddenCursor14禁止光标 带斜杠的圆圈光标,通常用于拖放操作中,以指示被拖动的内容不能被放置在特定的控件上或某些区域内。
Qt::OpenHandCursor17张开的手形光标 一个代表张开手掌的光标,通常用于指示光标下方的区域是画布的可见部分,用户可以点击并拖动该区域以进行滚动。
Qt::ClosedHandCursor18紧握的手形光标 代表紧握拳头的光标,通常用于指示正在进行涉及滚动的拖拽操作。
Qt::WhatsThisCursor15这个光标是什么? 带问号的箭头,通常用于指示控件存在“这是什么?”帮助功能。
Qt::BusyCursor16忙碌光标 沙漏或时钟光标,通常在允许用户在后台操作执行期间与应用程序交互时显示。
Qt::DragMoveCursor20通常在拖动项目时使用的光标。
Qt::DragCopyCursor19通常在拖动项目以复制它时使用的光标。
Qt::DragLinkCursor21通常在拖动项目以创建其链接时使用的光标。
Qt::BitmapCursor24 

enum Qt::DateFormat

常数值描述
Qt::TextDate0默认的 Qt 格式,其中包含星期和月份名称、当月日期序号以及完整的年份。 日期和月份名称将采用英语简写形式(C 语言环境)。这实际上对于日期使用格式ddd MMM d yyyy ,对于时间使用HH:mm:ss ,并将二者组合为ddd MMM d HH:mm:ss yyyy 表示日期时间,并在相关情况下可选地添加时区偏移后缀。 从字符串读取时,时间部分的秒数也会识别小数部分,例如HH:mm:ss.zzz ;同时,为兼容早期版本的 Qt 以及未来计划的格式变更,系统可能识别某些微小的格式变体。 特别是,时区偏移量后缀目前使用GMT[±tzoff] ,其中tzoff 采用HH[[:]mm] 格式(两位数的小时和可选的两位数分钟,可选冒号分隔符);在未来的 Qt 版本中,这将更改为使用UTC 代替GMT ,以便识别计划中的UTC 格式。
Qt::ISODateWithMs9ISO 8601扩展格式:日期使用yyyy-MM-dd ,时间使用HH:mm:ss.zzz 或yyyy-MM-ddTHH:mm:ss.zzz (例如 2017-07-24T15:46:29.739),可选地在适当情况下添加时区后缀(Z 表示 UTC,否则为 ±HH:mm 形式的偏移量)。 在解析时,可以使用单个空格(' ' )代替日期和时间之间的'T' 分隔符;不允许使用其他空格字符。该格式还接受HH:mm 和纯HH 格式作为时间部分,其中任何一种都可能包含分数部分(HH:mm.zzz 或HH.zzz ),该分数部分应用于最后一个字段(小时或分钟)。
Qt::ISODate1ISO 8601扩展格式,与ISODateWithMs 相同,但在转换为字符串时省略毫秒(.zzz )部分。从字符串读取时没有区别:如果最后一个时间字段存在小数部分,两种格式都会接受它。
Qt::RFC2822Date8RFC 2822、RFC 850和RFC 1036格式:将日期转换为字符串时,采用dd MMM yyyy 格式;将时间转换为字符串时,采用HH:mm:ss 格式。对于日期与时间的组合,将按dd MMM yyyy HH:mm:ss ±tzoff 格式进行组合(省略首个被识别的格式中可选的开头星期几)。 从字符串读取时,对于组合的日期和时间,将识别[ddd,] dd MMM yyyy [HH:mm[:ss]][ ±tzoff] 或ddd MMM dd[ HH:mm:ss] yyyy[ ±tzoff] 格式,其中tzoff 是HHmm 格式的时区偏移量。文本前后可能出现任意空格,且任何非空的空格都可替换该格式中的空格。 对于单独的日期和时间,系统将匹配相同的格式并忽略不需要的部分。特别需要注意的是,如果没有配套的日期,系统将无法识别时间。

对于ISODate 格式,每个y 、M 和d 分别代表用于指定日期的年、月、日的单个数字。每个H 、m 和s 分别代表用于指定时间的小时(最大值为 24)、分钟和秒的单个数字。 当小时为 24 且所有其他时间字段均为零时,则被视为次日的开始。.zzz 表示前一个字段的小数部分后缀,该后缀可通过逗号',' 或如图所示的点'.' 与该字段分隔。超过毫秒的精度虽被接受但会被舍弃,并四舍五入到最接近的可表示毫秒。 当同时指定日期和时间时,字面量T 用于分隔日期和时间。对于TextDate 和RFC2822Date 格式,ddd 代表星期名称的前三个字母,MMM 代表月份名称的前三个字母。无论用户偏好或系统设置如何,星期和月份的名称始终为英文(C 语言环境)。 其他格式字符的含义与 ISODate 格式相同,但 24 不被接受为小时值。方括号[...] 括起的格式部分是可选的;方括号本身不属于格式的一部分。此处的加减号字符'±' 代表任意符号字符,'-' 代表减号,'+' 代表加号。

注意:时区 偏移量以格林尼治为基准,向东为正值,向西为负值,这与基于协调世界时(UTC)的偏移量表示法惯例一致(这与某些基于格林尼治标准时间(GMT)的时区名称存在冲突,例如Etc/GMT+3 ,这些名称采用相反的约定)。

另请参阅 QDate::toString()、QTime::toString()、QDateTime::toString()、QDate::fromString()、QTime::fromString() 以及QDateTime::fromString()。

enum Qt::DayOfWeek

常数值
Qt::Monday1
Qt::Tuesday2
Qt::Wednesday3
Qt::Thursday4
Qt::Friday5
Qt::Saturday6
Qt::Sunday7

enum Qt::DockWidgetArea
flags Qt::DockWidgetAreas

表示QDockWidget 可以停靠的位置。

注意: 带有标签页的浮动停靠窗体 可停靠在任意位置。

常量值描述
Qt::LeftDockWidgetArea0x1QMainWindow 的左侧停靠区域。
Qt::RightDockWidgetArea0x2QMainWindow 的右侧停靠区域。
Qt::TopDockWidgetArea0x4QMainWindow 的顶部停靠区域。
Qt::BottomDockWidgetArea0x8QMainWindow 的底部停靠区。
Qt::AllDockWidgetAreasDockWidgetArea_Mask所有停靠小部件区域(默认)。
Qt::NoDockWidgetArea0无停靠小部件区域。

DockWidgetAreas 类型是QFlags<DockWidgetArea> 的 typedef。它存储 DockWidgetArea 值的或(OR)组合。

另请参阅 QDockWidget::setAllowedAreas 和QDockWidget::isAreaAllowed 。

enum Qt::DropAction
flags Qt::DropActions

常数值描述
Qt::CopyAction0x1将数据复制到目标。
Qt::MoveAction0x2将数据从源移动到目标。
Qt::LinkAction0x4从源创建到目标的链接。
Qt::ActionMask0xff 
Qt::IgnoreAction0x0忽略该操作(对数据不进行任何处理)。
Qt::TargetMoveAction0x8002在 Windows 系统上,当拖放数据的所有权应由目标应用程序接管时(即源应用程序不应删除该数据),将使用此值。在 X11 系统上,此值用于执行移动操作。TargetMoveAction 在 Mac 系统上不被使用。

DropActions 类型是QFlags<DropAction> 的 typedef 定义。它存储 DropAction 值的按“或”运算组合。

enum Qt::Edge
flags Qt::Edges

此枚举类型指定矩形中的某条边:

常量值描述
Qt::TopEdge0x00001矩形的顶边。
Qt::LeftEdge0x00002矩形的左边缘。
Qt::RightEdge0x00004矩形的右边。
Qt::BottomEdge0x00008矩形的底部边缘。

“边”类型是QFlags<Edge> 的 typedef 定义。它存储 Edge 值的按“或”运算组合。

enum Qt::EnterKeyType

此选项可用于更改屏幕键盘上“返回”键的外观。

注意:并非 所有平台都支持这些值。对于不支持的值,系统将改用默认键。

常量值描述
Qt::EnterKeyDefault0默认的 Enter 键。这可以是关闭键盘的按钮,也可以是在多行输入字段中用于换行的 Return 按钮。
Qt::EnterKeyReturn1显示一个可插入新行的“回车”按钮。按下此按钮时,键盘不会关闭。
Qt::EnterKeyDone2显示“完成”按钮。按下此按钮时,键盘将关闭。
Qt::EnterKeyGo3显示“去”按钮。通常用于地址栏中输入 URL 时;按下此按钮后,键盘将关闭。
Qt::EnterKeySend4显示“发送”按钮。按下此按钮后,键盘将关闭。
Qt::EnterKeySearch5显示“搜索”按钮。点击此按钮后,键盘将关闭。
Qt::EnterKeyNext6显示“下一步”按钮。通常用于表单中,以便导航到下一个输入字段;按下此按钮时,键盘不会关闭。
Qt::EnterKeyPrevious7显示“上一页”按钮。点击此按钮时,键盘不会关闭。

enum Qt::EventPriority

此枚举可用于指定事件优先级。

常量值描述
Qt::HighEventPriority1具有此优先级的事件会在具有 NormalEventPriority 或 LowEventPriority 的事件之前发送。
Qt::NormalEventPriority0具有此优先级的事件在具有 HighEventPriority 的事件之后、但在具有 LowEventPriority 的事件之前发送。
Qt::LowEventPriority-1具有此优先级的事件在具有 HighEventPriority 或 NormalEventPriority 的事件之后发送。

请注意,这些值仅为方便起见而提供,因为事件优先级可以是INT_MAX 到INT_MIN 之间的任意值(包含两端)。例如,您可以定义彼此相对的自定义优先级:

enum CustomEventPriority
{
    // An important event
    ImportantEventPriority = Qt::HighEventPriority,

    // A more important event
    MoreImportantEventPriority = ImportantEventPriority + 1,

    // A critical event
    CriticalEventPriority = 100 * MoreImportantEventPriority,

    // Not that important
    StatusEventPriority = Qt::LowEventPriority,

    // These are less important than Status events
    IdleProcessingDoneEventPriority = StatusEventPriority - 1
};

另请参阅 QCoreApplication::postEvent()。

enum Qt::FillRule

指定应使用哪种方法来填充路径和多边形。

常量值描述
Qt::OddEvenFill0指定使用奇偶填充规则填充该区域。使用此规则时,我们通过以下方法来确定一个点是否位于图形内部。 从该点画一条水平线到形状外部的某处,并计算交点数。如果交点数为奇数,则该点位于形状内部。此模式为默认模式。
Qt::WindingFill1指定该区域采用“非零绕行”规则进行填充。使用此规则时,我们通过以下方法判断一点是否位于形状内部:从该点向形状外部某处画一条水平线,并统计交点数量。如果交点数量为奇数,则该点位于形状内部。此模式为默认模式。采用“非零绕行”规则时,我们通过以下方法判断一点是否位于形状内部:从该点向形状外部某处画一条水平线,并判断该线在每个交点处的方向是向上还是向下。 绕数由各交点的方向之和决定。若该数值不为零,则该点位于图形内部。在大多数情况下,此填充模式也可视为闭合图形的交集。

enum Qt::FindChildOption
flags Qt::FindChildOptions

常数值描述
Qt::FindDirectChildrenOnly0x0仅检查对象的直接子节点。
Qt::FindChildrenRecursively0x1检查对象的所有子节点(递归搜索)。

FindChildOptions 类型是QFlags<FindChildOption> 的 typedef 定义。它存储 FindChildOption 值的“或”组合。

enum Qt::FocusPolicy

该枚举类型定义了控件在获取键盘焦点方面的各种策略。

常量值描述
Qt::TabFocus0x1该控件通过 Tab 键接受焦点。
Qt::ClickFocus0x2该控件可通过点击获得焦点。
Qt::StrongFocusTabFocus | ClickFocus | 0x8该控件既可通过 Tab 键切换焦点,也可通过点击获得焦点。在 macOS 上,这还表示当控件处于“文本/列表焦点模式”时,它接受 Tab 键焦点。
Qt::WheelFocusStrongFocus | 0x4类似于 Qt::StrongFocus,此外该控件还支持通过鼠标滚轮获取焦点。
Qt::NoFocus0该控件不接受焦点。

enum Qt::FocusReason

此枚举用于指定焦点变化的原因。它将通过QWidget::setFocus 传递,并可在焦点变化时发送到控件的QFocusEvent 中获取。

常量值描述
Qt::MouseFocusReason0发生了鼠标操作。
Qt::TabFocusReason1按下了 Tab 键。
Qt::BacktabFocusReason2发生了“Backtab”操作。此操作的输入可能包含 Shift 或 Control 键;例如 Shift+Tab。
Qt::ActiveWindowFocusReason3窗口系统将此窗口设为活动状态或非活动状态。
Qt::PopupFocusReason4应用程序打开/关闭了一个弹出窗口,该窗口获取/释放了键盘焦点。
Qt::ShortcutFocusReason5用户输入了标签的“伙伴”快捷键
Qt::MenuBarFocusReason6菜单栏获得了焦点。
Qt::OtherFocusReason7其他原因,通常与具体应用程序相关。

另请参阅 “控件中的键盘焦点”。

enum Qt::GestureFlag
flags Qt::GestureFlags

此枚举类型描述了订阅手势时可用的其他标志。

常量值描述
Qt::DontStartGestureOnChildren0x01默认情况下,手势可以在小部件上或其任何子元素上开始。使用此标志可禁用此功能,并允许手势仅在小部件上开始。
Qt::ReceivePartialGestures0x02允许将任何被忽略的手势事件传播到指定了此提示的父控件。默认情况下,只有处于Qt::GestureStarted 状态的手势才会被传播,且控件始终会收到完整的手势序列——该序列以处于Qt::GestureStarted 状态的手势开始,以处于Qt::GestureFinished 或Qt::GestureCanceled 状态的手势结束。
Qt::IgnoredGesturesPropagateToParent (since Qt 4.7)0x04允许对手势事件的传播进行精细调整。当grabbing 一个手势时,如果设置此标志,所有被忽略的部分手势都将传播到其父项。

GestureFlags 类型是QFlags<GestureFlag> 的 typedef。它存储 GestureFlag 值的按“或”运算组合。

另请参阅 QWidget::grabGesture() 和QGraphicsObject::grabGesture()。

enum Qt::GestureState

此枚举类型描述了手势的状态。

常量值描述
Qt::NoGesture0未检测到任何手势。
Qt::GestureStarted1已开始一个连续手势。
Qt::GestureUpdated2手势仍在进行中。
Qt::GestureFinished3手势已结束。
Qt::GestureCanceled4手势被取消了。

另请参阅 QGesture 。

enum Qt::GestureType

此枚举类型描述了标准手势。

常量值描述
Qt::TapGesture1轻触手势。
Qt::TapAndHoldGesture2轻触并按住(长按)手势。
Qt::PanGesture3平移手势。
Qt::PinchGesture4捏合手势。
Qt::SwipeGesture5滑动手势。
Qt::CustomGesture0x0100一个标志,可用于测试该手势是否为用户定义的手势 ID。

用户定义的手势通过QGestureRecognizer::registerRecognizer() 函数进行注册,该函数会生成一个设置了 Qt::CustomGesture 标志的自定义手势 ID。

另请参阅 QGesture 、QWidget::grabGesture() 和QGraphicsObject::grabGesture()。

enum Qt::GlobalColor

Qt 的预定义QColor 对象:

常量值描述
Qt::white3白色 (#ffffff)
Qt::black2黑色 (#000000)
Qt::red7红色 (#ff0000)
Qt::darkRed13深红色 (#800000)
Qt::green8绿色 (#00ff00)
Qt::darkGreen14深绿色 (#008000)
Qt::blue9蓝色 (#0000ff)
Qt::darkBlue15深蓝色 (#000080)
Qt::cyan10青色 (#00ffff)
Qt::darkCyan16深青色 (#008080)
Qt::magenta11品红 (#ff00ff)
Qt::darkMagenta17深品红 (#800080)
Qt::yellow12黄色 (#ffff00)
Qt::darkYellow18深黄色 (#808000)
Qt::gray5灰色 (#a0a0a4)
Qt::darkGray4深灰色 (#808080)
Qt::lightGray6浅灰色 (#c0c0c0)
Qt::transparent19透明黑色值(即QColor(0, 0, 0, 0))
Qt::color000 像素值(适用于位图)
Qt::color111 像素值(适用于位图)

另请参阅 QColor 。

Qt::HANDLE

系统对象的一种句柄类型,在所有平台上均定义为void * 。

enum class Qt::HighDpiScaleFactorRoundingPolicy

此枚举描述了高DPI缩放因子可能的舍入策略,这些策略决定了如何处理非整数缩放因子(例如 Windows 150%)。

通过在创建应用程序对象之前调用QGuiApplication::setHighDpiScaleFactorRoundingPolicy()来设置当前生效的策略。

常量值描述
Qt::HighDpiScaleFactorRoundingPolicy::Round1对 0.5 及以上数值向上舍入。
Qt::HighDpiScaleFactorRoundingPolicy::Ceil2始终向上取整。
Qt::HighDpiScaleFactorRoundingPolicy::Floor3始终向下取整。
Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor40.75及以上向上取整。
Qt::HighDpiScaleFactorRoundingPolicy::PassThrough5不进行四舍五入。

另请参阅 QGuiApplication::setHighDpiScaleFactorRoundingPolicy()。

enum Qt::HitTestAccuracy

此枚举包含QTextDocument 类在检测文本文档上的鼠标点击时可使用的精度类型。

常量值描述
Qt::ExactHit0输入发生的位置必须与文档中对输入敏感的部分完全重合。
Qt::FuzzyHit1输入发生的位置可以靠近文档的输入敏感区域。

enum Qt::ImageConversionFlag
flags Qt::ImageConversionFlags

如果列表中未包含其他值,则会采用标有“(默认)”的选项(因为默认值为零):

彩色/单色偏好设置(QBitmap 模式下将被忽略):

常量值说明
Qt::AutoColor0x00000000(默认) - 如果图像的depth 值为1且仅包含黑白像素,则像素图将变为单色。
Qt::ColorOnly0x00000003像素图将被抖动处理/转换为native display depth 。
Qt::MonoOnly0x00000002位图将变为单色。如有必要,将使用所选的抖动算法对其进行抖动处理。

抖动模式首选项:

恒定值说明
Qt::DiffuseDither0x00000000(默认)——使用误差扩散的高质量抖动。
Qt::OrderedDither0x00000010一种速度更快、有序的抖动方式。
Qt::ThresholdDither0x00000020不进行抖动;使用最接近的颜色。

1 位透明度蒙版的抖动模式首选项:

常量值描述
Qt::ThresholdAlphaDither0x00000000(默认) - 不进行抖动。
Qt::OrderedAlphaDither0x00000004一种更快、有序的抖动方式。
Qt::DiffuseAlphaDither0x00000008一种使用误差扩散的高质量抖动。

颜色匹配与抖动偏好:

恒定值说明
Qt::PreferDither0x00000040将图像转换为较小的色彩空间时,始终进行抖动处理。
Qt::AvoidDither0x00000080仅当源图像使用的不同颜色数量超过目标格式颜色表的大小时,才对索引格式进行抖动处理。
Qt::AutoDither0x00000000(默认)——仅在向下转换为 1 位或 8 位索引格式时进行抖动。
Qt::NoOpaqueDetection0x00000100不检查图像是否包含非不透明像素。 如果您知道图像为半透明,且希望避免检查图像中的像素直至找到非不透明像素所带来的开销,或者出于其他原因希望像素图保留 alpha 通道,请使用此选项。如果图像没有 alpha 通道,此标志将不起作用。
Qt::NoFormatConversion0x00000200不对图像进行任何格式转换。例如,在将QImage 转换为QPixmap 以进行一次性渲染操作时,此选项可能很有用。请注意,若QPixmap 未采用首选格式,作为绘图设备时其性能将大幅降低。

ImageConversionFlags 类型是QFlags<ImageConversionFlag> 的 typedef。它存储 ImageConversionFlag 值的按“或”运算组合。

enum Qt::InputMethodHint
flags Qt::InputMethodHints

常数值描述
Qt::ImhNone0x0无提示。

影响行为的标志:

常量值描述
Qt::ImhHiddenText0x1输入法在输入时不应显示字符。当将QLineEdit::echoMode 设置为Password 时,此选项会自动启用。请注意,将ImhHiddenText 设置为 不会改变回显模式。

请注意,Android输入法会刻意限制密码字段仅允许输入拉丁/ASCII字符。

常量值描述
Qt::ImhSensitiveData0x2活动输入法不应将输入的文本存储在任何持久存储中,例如预测性用户词典。

请注意,Qt 框架将此视为可见密码,在此情况下,Android 输入法会刻意仅允许输入拉丁/ASCII 字符。

常量值描述
Qt::ImhNoAutoUppercase0x4当句子结束时,输入法不应尝试自动切换为大写。
Qt::ImhPreferNumbers0x8最好使用数字(但不是必须的)。
Qt::ImhPreferUppercase0x10建议使用大写字母(但非必须)。
Qt::ImhPreferLowercase0x20建议使用小写字母(但非强制要求)。
Qt::ImhNoPredictiveText0x40输入时请勿使用预测文本(即词典查找)。
Qt::ImhDate0x80文本编辑器充当日期字段。
Qt::ImhTime0x100文本编辑器用作时间字段。
Qt::ImhPreferLatin0x200建议使用拉丁字符(但非必须)。
Qt::ImhMultiLine0x400文本字段中可以输入多行内容。
Qt::ImhNoEditMenu0x800请勿使用内置的“编辑”菜单。此标志自 Qt 5.11 起引入。
Qt::ImhNoTextHandles0x1000请勿使用内置的文本光标和选择控点。此标志自 Qt 5.11 起引入。
Qt::ImhNoFullscreen (since Qt 6.12)0x2000请勿使用全屏输入法。

限制输入的标志(排他性标志):

常量值描述
Qt::ImhDigitsOnly0x10000仅允许输入数字。
Qt::ImhDecimalNumbersOnly (since Qt 6.12)0x1000000仅允许输入数字。这包括小数点,但不包括负数。
Qt::ImhFormattedNumbersOnly0x20000仅允许输入数字。这包括小数点和负号。
Qt::ImhUppercaseOnly0x40000仅允许输入大写字母。
Qt::ImhLowercaseOnly0x80000仅允许输入小写字母。
Qt::ImhDialableCharactersOnly0x100000仅允许输入适合电话拨号的字符。
Qt::ImhEmailCharactersOnly0x200000仅允许输入适用于电子邮件地址的字符。
Qt::ImhUrlCharactersOnly0x400000仅允许输入适合用于URL的字符。
Qt::ImhLatinOnly0x800000仅允许基于拉丁字母的输入。

验证规则:

常量值描述
Qt::ImhExclusiveInputMask0xffff0000如果使用了任何排他标志,此掩码将返回非零值。

注意:如果将 多个排他标志进行按位或(OR)运算,所得的字符集将由指定集合的并集组成。例如,指定ImhNumbersOnly 和ImhUppercaseOnly 将得到一个由数字和大写字母组成的集合。

InputMethodHints 类型是QFlags<InputMethodHint> 的 typedef。它存储 InputMethodHint 值的按“或”运算组合。

另请参阅 QGraphicsItem::inputMethodHints()。

enum Qt::InputMethodQuery
flags Qt::InputMethodQueries

常数值描述
Qt::ImEnabled0x1该控件支持输入法输入。
Qt::ImCursorRectangle0x2以控件坐标系为基准,覆盖输入光标区域的矩形。
Qt::ImFont0x4当前用于文本输入的字体。
Qt::ImCursorPosition0x8光标在输入区域周围文本中的逻辑位置(参见ImSurroundingText )。该位置不包含光标在预编辑区域内的偏移量,该偏移量由QInputMethodEvent::Cursor 控制。
Qt::ImSurroundingText0x10输入区域周围的纯文本,例如当前段落。
Qt::ImCurrentSelection0x20当前选中的文本。
Qt::ImMaximumTextLength0x40控件可容纳的最大字符数。如果没有限制,则返回QVariant::QVariant()。
Qt::ImAnchorPosition0x80选择锚点的位置。该值可能小于或大于ImCursorPosition ,具体取决于光标位于选择区域的哪一侧。如果没有选择内容,则返回与ImCursorPosition 相同的结果。
Qt::ImHints0x100针对预期输入的输入法提示。(参见Qt::InputMethodHints )
Qt::ImPreferredLanguage0x200首选输入语言。
Qt::ImPlatformData0x80000000输入法的平台特定数据。
Qt::ImAbsolutePosition0x400光标在整个文档中的逻辑位置。该位置不包含由QInputMethodEvent::Cursor 控制的光标在预编辑区域内的偏移量。
Qt::ImTextBeforeCursor0x800光标前面的纯文本。控件可以决定返回多少文本,但除非光标位于文档开头,否则不得返回空字符串。
Qt::ImTextAfterCursor0x1000光标后的纯文本。小部件可以决定返回多少文本,但除非光标位于文档末尾,否则不得返回空字符串。
Qt::ImEnterKeyType0x2000回车键类型。
Qt::ImAnchorRectangle0x4000选择锚点的边界矩形。此值在 Qt 5.7 中新增。
Qt::ImInputItemClipRectangle0x8000实际暴露的输入项矩形。输入项的部分内容可能会被裁剪。该值会考虑裁剪情况,并返回实际绘制的项矩形。该矩形采用控件坐标系。
Qt::ImReadOnly0x10000该小部件为只读。此值自 Qt 6.2 起新增。

掩码:

常量值描述
Qt::ImQueryInputImCursorRectangle | ImCursorPosition | ImSurroundingText | ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition输入时常被修改的属性。
Qt::ImQueryAll0xffffffff查询所有输入法属性。

InputMethodQueries 类型是QFlags<InputMethodQuery> 的 typedef。它存储 InputMethodQuery 值的“或”组合。

另请参阅 QInputMethodQueryEvent 。

enum Qt::ItemDataRole

模型中的每个项都关联着一组数据元素,每个元素都有其特定的角色。视图通过这些角色向模型指示所需的数据类型。自定义模型应按这些类型返回数据。

通用角色(及其关联的类型)包括:

常量值描述
Qt::DisplayRole0以文本形式渲染的关键数据。(QString )
Qt::DecorationRole1以图标形式呈现为装饰的数据。(QColor 、QIcon 或QPixmap )
Qt::EditRole2适合在编辑器中进行编辑的数据。(QString )
Qt::ToolTipRole3显示在项目工具提示中的数据。(QString )
Qt::StatusTipRole4状态栏中显示的数据。(QString )
Qt::WhatsThisRole5在“这是什么?”模式下显示的该项目数据。(QString )
Qt::SizeHintRole13将提供给视图的该项目尺寸提示。(QSize )

描述外观和元数据的角色(及相关类型):

常量值描述
Qt::FontRole6使用默认委托渲染项目时所用的字体。(QFont )
Qt::TextAlignmentRole7使用默认委托渲染的项的文本对齐方式。(Qt::Alignment )
Qt::BackgroundRole8用于通过默认委托渲染的项目所使用的背景画笔。(QBrush )
Qt::ForegroundRole9用于通过默认委托渲染的项目的前景画笔(通常为文本颜色)。(QBrush)
Qt::CheckStateRole10此角色用于获取项目的选中状态。(Qt::CheckState )
Qt::InitialSortOrderRole14此角色用于获取标题视图部分的初始排序顺序。(Qt::SortOrder )。

辅助功能角色(及其关联类型):

常量值描述
Qt::AccessibleTextRole11供辅助功能扩展和插件(如屏幕阅读器)使用的文本。(QString )
Qt::AccessibleDescriptionRole12为辅助功能目的对该项的描述。(QString )

用户角色:

常量值描述
Qt::UserRole0x0100可用于应用程序特定用途的首个角色。

对于用户角色,开发者可自行决定使用哪些类型,并确保组件在访问和设置数据时使用正确的类型。

enum Qt::ItemFlag
flags Qt::ItemFlags

此枚举描述了项目的属性:

常量值描述
Qt::NoItemFlags0未设置任何属性。
Qt::ItemIsSelectable1该项目可被选中。
Qt::ItemIsEditable2可以对其进行编辑。
Qt::ItemIsDragEnabled4可以拖动。
Qt::ItemIsDropEnabled8可作为拖放目标。
Qt::ItemIsUserCheckable16用户可以勾选或取消勾选它。
Qt::ItemIsEnabled32用户可以与该项目进行交互。
Qt::ItemIsAutoTristate64该项的状态取决于其子项的状态。这使得QTreeWidget 中父项的状态能够得到自动管理(如果所有子项均被选中,则父项被选中;如果所有子项均未被选中,则父项未被选中;如果只有部分子项被选中,则父项部分选中)。
Qt::ItemNeverHasChildren128该项永远不会有子项。这仅用于优化目的。
Qt::ItemIsUserTristate256用户可以在三种独立状态之间循环切换。此功能在 Qt 5.5 中新增。

请注意,可选中项需要同时指定一组合适的标志以及初始状态,以指示该项是否被选中。对于模型/视图组件,这会自动处理;但对于QListWidgetItem 、QTableWidgetItem 和QTreeWidgetItem 的实例,则需要显式设置。

请注意,如果某个索引已设置 Qt::ItemNeverHasChildren 标志,而重新实现QAbstractItemModel::hasChildren 时该方法对该索引返回 true,则属于未定义行为。

ItemFlags 类型是QFlags<ItemFlag> 的 typedef。它存储了 ItemFlag 值的按“或”运算组合。

另请参阅 QAbstractItemModel 。

enum Qt::ItemSelectionMode

该枚举用于QGraphicsItem 、QGraphicsScene 和QGraphicsView ,用于指定项目的选择方式,或确定形状与项目之间是否发生碰撞。

常量值描述
Qt::ContainsItemShape0x0输出列表仅包含其shape 完全位于选择区域内的项目。与该区域轮廓相交的项目不包括在内。
Qt::IntersectsItemShape0x1输出列表同时包含shape 完全位于选择区域内部的对象,以及与该区域轮廓相交的对象。这是“橡皮筋选择”的常见模式。
Qt::ContainsItemBoundingRect0x2输出列表仅包含其bounding rectangle 完全位于选区内部的项目。与选区轮廓相交的项目不包含在内。
Qt::IntersectsItemBoundingRect0x3输出列表同时包含bounding rectangle 完全位于选区内部的项目,以及与选区轮廓相交的项目。此方法通常用于确定需要重绘的区域。

另请参阅 QGraphicsScene::items()、QGraphicsScene::collidingItems()、QGraphicsView::items()、QGraphicsItem::collidesWithItem() 以及QGraphicsItem::collidesWithPath()。

enum Qt::ItemSelectionOperation

该枚举用于QGraphicsScene ,用于指定在设置选择区域时对当前选中的项目应如何处理。

常量值描述
Qt::ReplaceSelection0当前选中的项目将被选择区域中的项目替换。
Qt::AddToSelection1将选择区域中的项目添加到当前选中的项目中。

另请参阅 QGraphicsScene::setSelectionArea()。

enum Qt::Key

Qt.

常量值描述
Qt::Key_Escape0x01000000 
Qt::Key_Tab0x01000001 
Qt::Key_Backtab0x01000002 
Qt::Key_Backspace0x01000003 
Qt::Key_Return0x01000004 
Qt::Key_Enter0x01000005通常位于键盘上。
Qt::Key_Insert0x01000006 
Qt::Key_Delete0x01000007 
Qt::Key_Pause0x01000008暂停/休息键(注:与媒体播放暂停功能无关)
Qt::Key_Print0x01000009 
Qt::Key_SysReq0x0100000a 
Qt::Key_Clear0x0100000b在部分Apple键盘型号上,该键对应“清除”键。在其他系统中,当Num Lock处于off 状态时,该键通常映射为数字小键盘上的5键。
Qt::Key_Home0x01000010 
Qt::Key_End0x01000011 
Qt::Key_Left0x01000012 
Qt::Key_Up0x01000013 
Qt::Key_Right0x01000014 
Qt::Key_Down0x01000015 
Qt::Key_PageUp0x01000016 
Qt::Key_PageDown0x01000017 
Qt::Key_Shift0x01000020 
Qt::Key_Control0x01000021在 macOS 上,这对应于 Command 键。
Qt::Key_Meta0x01000022在 macOS 上,这对应于 Control 键。在 Windows 键盘上,该键被映射为 Windows 键。
Qt::Key_Alt0x01000023 
Qt::Key_AltGr0x01001103在 Windows 系统中,当发送此键的 `KeyDown ` 事件时,也会同时设置 Ctrl+Alt 修饰键。
Qt::Key_CapsLock0x01000024 
Qt::Key_NumLock0x01000025 
Qt::Key_ScrollLock0x01000026 
Qt::Key_F10x01000030 
Qt::Key_F20x01000031 
Qt::Key_F30x01000032 
Qt::Key_F40x01000033 
Qt::Key_F50x01000034 
Qt::Key_F60x01000035 
Qt::Key_F70x01000036 
Qt::Key_F80x01000037 
Qt::Key_F90x01000038 
Qt::Key_F100x01000039 
Qt::Key_F110x0100003a 
Qt::Key_F120x0100003b 
Qt::Key_F130x0100003c 
Qt::Key_F140x0100003d 
Qt::Key_F150x0100003e 
Qt::Key_F160x0100003f 
Qt::Key_F170x01000040 
Qt::Key_F180x01000041 
Qt::Key_F190x01000042 
Qt::Key_F200x01000043 
Qt::Key_F210x01000044 
Qt::Key_F220x01000045 
Qt::Key_F230x01000046 
Qt::Key_F240x01000047 
Qt::Key_F250x01000048 
Qt::Key_F260x01000049 
Qt::Key_F270x0100004a 
Qt::Key_F280x0100004b 
Qt::Key_F290x0100004c 
Qt::Key_F300x0100004d 
Qt::Key_F310x0100004e 
Qt::Key_F320x0100004f 
Qt::Key_F330x01000050 
Qt::Key_F340x01000051 
Qt::Key_F350x01000052 
Qt::Key_Super_L0x01000053 
Qt::Key_Super_R0x01000054 
Qt::Key_Menu0x01000055 
Qt::Key_Hyper_L0x01000056 
Qt::Key_Hyper_R0x01000057 
Qt::Key_Help0x01000058 
Qt::Key_Direction_L0x01000059 
Qt::Key_Direction_R0x01000060 
Qt::Key_Space0x20 
Qt::Key_AnyKey_Space 
Qt::Key_Exclam0x21 
Qt::Key_QuoteDbl0x22 
Qt::Key_NumberSign0x23 
Qt::Key_Dollar0x24 
Qt::Key_Percent0x25 
Qt::Key_Ampersand0x26 
Qt::Key_Apostrophe0x27 
Qt::Key_ParenLeft0x28 
Qt::Key_ParenRight0x29 
Qt::Key_Asterisk0x2a 
Qt::Key_Plus0x2b 
Qt::Key_Comma0x2c 
Qt::Key_Minus0x2d 
Qt::Key_Period0x2e 
Qt::Key_Slash0x2f 
Qt::Key_00x30 
Qt::Key_10x31 
Qt::Key_20x32 
Qt::Key_30x33 
Qt::Key_40x34 
Qt::Key_50x35 
Qt::Key_60x36 
Qt::Key_70x37 
Qt::Key_80x38 
Qt::Key_90x39 
Qt::Key_Colon0x3a 
Qt::Key_Semicolon0x3b 
Qt::Key_Less0x3c 
Qt::Key_Equal0x3d 
Qt::Key_Greater0x3e 
Qt::Key_Question0x3f 
Qt::Key_At0x40 
Qt::Key_A0x41 
Qt::Key_B0x42 
Qt::Key_C0x43 
Qt::Key_D0x44 
Qt::Key_E0x45 
Qt::Key_F0x46 
Qt::Key_G0x47 
Qt::Key_H0x48 
Qt::Key_I0x49 
Qt::Key_J0x4a 
Qt::Key_K0x4b 
Qt::Key_L0x4c 
Qt::Key_M0x4d 
Qt::Key_N0x4e 
Qt::Key_O0x4f 
Qt::Key_P0x50 
Qt::Key_Q0x51 
Qt::Key_R0x52 
Qt::Key_S0x53 
Qt::Key_T0x54 
Qt::Key_U0x55 
Qt::Key_V0x56 
Qt::Key_W0x57 
Qt::Key_X0x58 
Qt::Key_Y0x59 
Qt::Key_Z0x5a 
Qt::Key_BracketLeft0x5b 
Qt::Key_Backslash0x5c 
Qt::Key_BracketRight0x5d 
Qt::Key_AsciiCircum0x5e 
Qt::Key_Underscore0x5f 
Qt::Key_QuoteLeft0x60 
Qt::Key_BraceLeft0x7b 
Qt::Key_Bar0x7c 
Qt::Key_BraceRight0x7d 
Qt::Key_AsciiTilde0x7e 
Qt::Key_nobreakspace0x0a0 
Qt::Key_exclamdown0x0a1 
Qt::Key_cent0x0a2 
Qt::Key_sterling0x0a3 
Qt::Key_currency0x0a4 
Qt::Key_yen0x0a5 
Qt::Key_brokenbar0x0a6 
Qt::Key_section0x0a7 
Qt::Key_diaeresis0x0a8 
Qt::Key_copyright0x0a9 
Qt::Key_ordfeminine0x0aa 
Qt::Key_guillemotleft0x0ab 
Qt::Key_notsign0x0ac 
Qt::Key_hyphen0x0ad 
Qt::Key_registered0x0ae 
Qt::Key_macron0x0af 
Qt::Key_degree0x0b0 
Qt::Key_plusminus0x0b1 
Qt::Key_twosuperior0x0b2 
Qt::Key_threesuperior0x0b3 
Qt::Key_acute0x0b4 
Qt::Key_micro (since Qt 6.7)0x0b5 
Qt::Key_muKey_microKey_micro 的已弃用别名
Qt::Key_paragraph0x0b6 
Qt::Key_periodcentered0x0b7 
Qt::Key_cedilla0x0b8 
Qt::Key_onesuperior0x0b9 
Qt::Key_masculine0x0ba 
Qt::Key_guillemotright0x0bb 
Qt::Key_onequarter0x0bc 
Qt::Key_onehalf0x0bd 
Qt::Key_threequarters0x0be 
Qt::Key_questiondown0x0bf 
Qt::Key_Agrave0x0c0 
Qt::Key_Aacute0x0c1 
Qt::Key_Acircumflex0x0c2 
Qt::Key_Atilde0x0c3 
Qt::Key_Adiaeresis0x0c4 
Qt::Key_Aring0x0c5 
Qt::Key_AE0x0c6 
Qt::Key_Ccedilla0x0c7 
Qt::Key_Egrave0x0c8 
Qt::Key_Eacute0x0c9 
Qt::Key_Ecircumflex0x0ca 
Qt::Key_Ediaeresis0x0cb 
Qt::Key_Igrave0x0cc 
Qt::Key_Iacute0x0cd 
Qt::Key_Icircumflex0x0ce 
Qt::Key_Idiaeresis0x0cf 
Qt::Key_ETH0x0d0 
Qt::Key_Ntilde0x0d1 
Qt::Key_Ograve0x0d2 
Qt::Key_Oacute0x0d3 
Qt::Key_Ocircumflex0x0d4 
Qt::Key_Otilde0x0d5 
Qt::Key_Odiaeresis0x0d6 
Qt::Key_multiply0x0d7 
Qt::Key_Ooblique0x0d8 
Qt::Key_Ugrave0x0d9 
Qt::Key_Uacute0x0da 
Qt::Key_Ucircumflex0x0db 
Qt::Key_Udiaeresis0x0dc 
Qt::Key_Yacute0x0dd 
Qt::Key_THORN0x0de 
Qt::Key_ssharp0x0df 
Qt::Key_division0x0f7 
Qt::Key_ydiaeresis0x0ff 
Qt::Key_Multi_key0x01001120 
Qt::Key_Codeinput0x01001137 
Qt::Key_SingleCandidate0x0100113c 
Qt::Key_MultipleCandidate0x0100113d 
Qt::Key_PreviousCandidate0x0100113e 
Qt::Key_Mode_switch0x0100117e 
Qt::Key_Kanji0x01001121 
Qt::Key_Muhenkan0x01001122 
Qt::Key_Henkan0x01001123 
Qt::Key_Romaji0x01001124 
Qt::Key_Hiragana0x01001125 
Qt::Key_Katakana0x01001126 
Qt::Key_Hiragana_Katakana0x01001127 
Qt::Key_Zenkaku0x01001128 
Qt::Key_Hankaku0x01001129 
Qt::Key_Zenkaku_Hankaku0x0100112a 
Qt::Key_Touroku0x0100112b 
Qt::Key_Massyo0x0100112c 
Qt::Key_Kana_Lock0x0100112d 
Qt::Key_Kana_Shift0x0100112e 
Qt::Key_Eisu_Shift0x0100112f 
Qt::Key_Eisu_toggle0x01001130 
Qt::Key_Hangul0x01001131 
Qt::Key_Hangul_Start0x01001132 
Qt::Key_Hangul_End0x01001133 
Qt::Key_Hangul_Hanja0x01001134 
Qt::Key_Hangul_Jamo0x01001135 
Qt::Key_Hangul_Romaja0x01001136 
Qt::Key_Hangul_Jeonja0x01001138 
Qt::Key_Hangul_Banja0x01001139 
Qt::Key_Hangul_PreHanja0x0100113a 
Qt::Key_Hangul_PostHanja0x0100113b 
Qt::Key_Hangul_Special0x0100113f 
Qt::Key_Dead_Grave0x01001250 
Qt::Key_Dead_Acute0x01001251 
Qt::Key_Dead_Circumflex0x01001252 
Qt::Key_Dead_Tilde0x01001253 
Qt::Key_Dead_Macron0x01001254 
Qt::Key_Dead_Breve0x01001255 
Qt::Key_Dead_Abovedot0x01001256 
Qt::Key_Dead_Diaeresis0x01001257 
Qt::Key_Dead_Abovering0x01001258 
Qt::Key_Dead_Doubleacute0x01001259 
Qt::Key_Dead_Caron0x0100125a 
Qt::Key_Dead_Cedilla0x0100125b 
Qt::Key_Dead_Ogonek0x0100125c 
Qt::Key_Dead_Iota0x0100125d 
Qt::Key_Dead_Voiced_Sound0x0100125e 
Qt::Key_Dead_Semivoiced_Sound0x0100125f 
Qt::Key_Dead_Belowdot0x01001260 
Qt::Key_Dead_Hook0x01001261 
Qt::Key_Dead_Horn0x01001262 
Qt::Key_Dead_Stroke0x01001263 
Qt::Key_Dead_Abovecomma0x01001264 
Qt::Key_Dead_Abovereversedcomma0x01001265 
Qt::Key_Dead_Doublegrave0x01001266 
Qt::Key_Dead_Belowring0x01001267 
Qt::Key_Dead_Belowmacron0x01001268 
Qt::Key_Dead_Belowcircumflex0x01001269 
Qt::Key_Dead_Belowtilde0x0100126a 
Qt::Key_Dead_Belowbreve0x0100126b 
Qt::Key_Dead_Belowdiaeresis0x0100126c 
Qt::Key_Dead_Invertedbreve0x0100126d 
Qt::Key_Dead_Belowcomma0x0100126e 
Qt::Key_Dead_Currency0x0100126f 
Qt::Key_Dead_a0x01001280 
Qt::Key_Dead_A0x01001281 
Qt::Key_Dead_e0x01001282 
Qt::Key_Dead_E0x01001283 
Qt::Key_Dead_i0x01001284 
Qt::Key_Dead_I0x01001285 
Qt::Key_Dead_o0x01001286 
Qt::Key_Dead_O0x01001287 
Qt::Key_Dead_u0x01001288 
Qt::Key_Dead_U0x01001289 
Qt::Key_Dead_Small_Schwa0x0100128a 
Qt::Key_Dead_Capital_Schwa0x0100128b 
Qt::Key_Dead_Greek0x0100128c 
Qt::Key_Dead_Lowline0x01001290 
Qt::Key_Dead_Aboveverticalline0x01001291 
Qt::Key_Dead_Belowverticalline0x01001292 
Qt::Key_Dead_Longsolidusoverlay0x01001293 
Qt::Key_Back0x01000061 
Qt::Key_Forward0x01000062 
Qt::Key_Stop0x01000063 
Qt::Key_Refresh0x01000064 
Qt::Key_VolumeDown0x01000070 
Qt::Key_VolumeMute0x01000071 
Qt::Key_VolumeUp0x01000072 
Qt::Key_BassBoost0x01000073 
Qt::Key_BassUp0x01000074 
Qt::Key_BassDown0x01000075 
Qt::Key_TrebleUp0x01000076 
Qt::Key_TrebleDown0x01000077 
Qt::Key_MediaPlay0x01000080一个用于将媒体播放器状态设置为播放的关键设置
Qt::Key_MediaStop0x01000081用于将媒体播放器状态设置为停止的按键
Qt::Key_MediaPrevious0x01000082 
Qt::Key_MediaNext0x01000083 
Qt::Key_MediaRecord0x01000084 
Qt::Key_MediaPause0x01000085将媒体播放器状态设为暂停的键(注:非暂停/中断键)
Qt::Key_MediaTogglePlayPause0x01000086用于在媒体播放器中切换播放/暂停状态的按键(而非设置绝对状态)
Qt::Key_HomePage0x01000090 
Qt::Key_Favorites0x01000091 
Qt::Key_Search0x01000092 
Qt::Key_Standby0x01000093 
Qt::Key_OpenUrl0x01000094 
Qt::Key_LaunchMail0x010000a0 
Qt::Key_LaunchMedia0x010000a1 
Qt::Key_Launch00x010000a2 
Qt::Key_Launch10x010000a3 
Qt::Key_Launch20x010000a4 
Qt::Key_Launch30x010000a5 
Qt::Key_Launch40x010000a6 
Qt::Key_Launch50x010000a7 
Qt::Key_Launch60x010000a8 
Qt::Key_Launch70x010000a9 
Qt::Key_Launch80x010000aa 
Qt::Key_Launch90x010000ab 
Qt::Key_LaunchA0x010000ac 
Qt::Key_LaunchB0x010000ad 
Qt::Key_LaunchC0x010000ae 
Qt::Key_LaunchD0x010000af 
Qt::Key_LaunchE0x010000b0 
Qt::Key_LaunchF0x010000b1 
Qt::Key_LaunchG0x0100010e 
Qt::Key_LaunchH0x0100010f 
Qt::Key_MonBrightnessUp0x010000b2 
Qt::Key_MonBrightnessDown0x010000b3 
Qt::Key_KeyboardLightOnOff0x010000b4 
Qt::Key_KeyboardBrightnessUp0x010000b5 
Qt::Key_KeyboardBrightnessDown0x010000b6 
Qt::Key_PowerOff0x010000b7 
Qt::Key_WakeUp0x010000b8 
Qt::Key_Eject0x010000b9 
Qt::Key_ScreenSaver0x010000ba 
Qt::Key_WWW0x010000bb 
Qt::Key_Memo0x010000bc 
Qt::Key_LightBulb0x010000bd 
Qt::Key_Shop0x010000be 
Qt::Key_History0x010000bf 
Qt::Key_AddFavorite0x010000c0 
Qt::Key_HotLinks0x010000c1 
Qt::Key_BrightnessAdjust0x010000c2 
Qt::Key_Finance0x010000c3 
Qt::Key_Community0x010000c4 
Qt::Key_AudioRewind0x010000c5 
Qt::Key_BackForward0x010000c6 
Qt::Key_ApplicationLeft0x010000c7 
Qt::Key_ApplicationRight0x010000c8 
Qt::Key_Book0x010000c9 
Qt::Key_CD0x010000ca 
Qt::Key_Calculator0x010000cb 
Qt::Key_ToDoList0x010000cc 
Qt::Key_ClearGrab0x010000cd 
Qt::Key_Close0x010000ce 
Qt::Key_Copy0x010000cf 
Qt::Key_Cut0x010000d0 
Qt::Key_Display0x010000d1 
Qt::Key_DOS0x010000d2 
Qt::Key_Documents0x010000d3 
Qt::Key_Excel0x010000d4 
Qt::Key_Explorer0x010000d5 
Qt::Key_Game0x010000d6 
Qt::Key_Go0x010000d7 
Qt::Key_iTouch0x010000d8 
Qt::Key_LogOff0x010000d9 
Qt::Key_Market0x010000da 
Qt::Key_Meeting0x010000db 
Qt::Key_MenuKB0x010000dc 
Qt::Key_MenuPB0x010000dd 
Qt::Key_MySites0x010000de 
Qt::Key_News0x010000df 
Qt::Key_OfficeHome0x010000e0 
Qt::Key_Option0x010000e1 
Qt::Key_Paste0x010000e2 
Qt::Key_Phone0x010000e3 
Qt::Key_Calendar0x010000e4 
Qt::Key_Reply0x010000e5 
Qt::Key_Reload0x010000e6 
Qt::Key_RotateWindows0x010000e7 
Qt::Key_RotationPB0x010000e8 
Qt::Key_RotationKB0x010000e9 
Qt::Key_Save0x010000ea 
Qt::Key_Send0x010000eb 
Qt::Key_Spell0x010000ec 
Qt::Key_SplitScreen0x010000ed 
Qt::Key_Support0x010000ee 
Qt::Key_TaskPane0x010000ef 
Qt::Key_Terminal0x010000f0 
Qt::Key_Tools0x010000f1 
Qt::Key_Travel0x010000f2 
Qt::Key_Video0x010000f3 
Qt::Key_Word0x010000f4 
Qt::Key_Xfer0x010000f5 
Qt::Key_ZoomIn0x010000f6 
Qt::Key_ZoomOut0x010000f7 
Qt::Key_Away0x010000f8 
Qt::Key_Messenger0x010000f9 
Qt::Key_WebCam0x010000fa 
Qt::Key_MailForward0x010000fb 
Qt::Key_Pictures0x010000fc 
Qt::Key_Music0x010000fd 
Qt::Key_Battery0x010000fe 
Qt::Key_Bluetooth0x010000ff 
Qt::Key_WLAN0x01000100 
Qt::Key_UWB0x01000101 
Qt::Key_AudioForward0x01000102 
Qt::Key_AudioRepeat0x01000103 
Qt::Key_AudioRandomPlay0x01000104 
Qt::Key_Subtitle0x01000105 
Qt::Key_AudioCycleTrack0x01000106 
Qt::Key_Time0x01000107 
Qt::Key_Hibernate0x01000108 
Qt::Key_View0x01000109 
Qt::Key_TopMenu0x0100010a 
Qt::Key_PowerDown0x0100010b 
Qt::Key_Suspend0x0100010c 
Qt::Key_ContrastAdjust0x0100010d 
Qt::Key_TouchpadToggle0x01000110 
Qt::Key_TouchpadOn0x01000111 
Qt::Key_TouchpadOff0x01000112 
Qt::Key_MicMute0x01000113 
Qt::Key_Red0x01000114 
Qt::Key_Green0x01000115 
Qt::Key_Yellow0x01000116 
Qt::Key_Blue0x01000117 
Qt::Key_ChannelUp0x01000118 
Qt::Key_ChannelDown0x01000119 
Qt::Key_Guide0x0100011a 
Qt::Key_Info0x0100011b 
Qt::Key_Settings0x0100011c 
Qt::Key_MicVolumeUp0x0100011d 
Qt::Key_MicVolumeDown0x0100011e 
Qt::Key_Keyboard0x0100011f 
Qt::Key_New0x01000120 
Qt::Key_Open0x01000121 
Qt::Key_Find0x01000122 
Qt::Key_Undo0x01000123 
Qt::Key_Redo0x01000124 
Qt::Key_MediaLast0x0100ffff 
Qt::Key_unknown0x01ffffff 
Qt::Key_Call0x01100004用于接听或发起通话的按键(有关用于切换当前通话状态的按键,请参见 Qt::Key_ToggleCallHangup)
Qt::Key_Camera0x01100020用于激活相机快门的按键。在 Windows Runtime 环境中,必须设置环境变量 QT_QPA_ENABLE_CAMERA_KEYS 才能接收该事件。
Qt::Key_CameraFocus0x01100021用于对焦摄像头的按键。在 Windows Runtime 环境中,必须设置环境变量 QT_QPA_ENABLE_CAMERA_KEYS 才能接收该事件。
Qt::Key_Context10x01100000 
Qt::Key_Context20x01100001 
Qt::Key_Context30x01100002 
Qt::Key_Context40x01100003 
Qt::Key_Flip0x01100006 
Qt::Key_Hangup0x01100005用于结束当前通话的按键(有关用于切换当前通话状态的按键,请参阅 Qt::Key_ToggleCallHangup)
Qt::Key_No0x01010002 
Qt::Key_Select0x01010000 
Qt::Key_Yes0x01010001 
Qt::Key_ToggleCallHangup0x01100007一个用于根据当前通话状态切换当前通话状态(即接听或挂断)的按键
Qt::Key_VoiceDial0x01100008 
Qt::Key_LastNumberRedial0x01100009 
Qt::Key_Execute0x01020003 
Qt::Key_Printer0x01020002 
Qt::Key_Play0x01020005 
Qt::Key_Sleep0x01020004 
Qt::Key_Zoom0x01020006 
Qt::Key_Exit0x0102000a 
Qt::Key_Cancel0x01020001 

另请参阅 QKeyEvent::key()。

enum Qt::KeyboardModifier
flags Qt::KeyboardModifiers

此枚举描述了修饰键。

常量值描述
Qt::NoModifier0x00000000未按下任何修饰键。
Qt::ShiftModifier0x02000000键盘上的 Shift 键被按下。
Qt::ControlModifier0x04000000按下了键盘上的 Ctrl 键。
Qt::AltModifier0x08000000键盘上的 Alt 键被按下。
Qt::MetaModifier0x10000000键盘上的 Meta 键被按下。
Qt::KeypadModifier0x20000000按下了数字小键盘上的按钮。
Qt::GroupSwitchModifier0x40000000仅限 X11(除非在 Windows 上通过命令行参数激活)。按下了键盘上的 Mode_switch 键。

注意:在 macOS上 ,ControlModifier 的值对应键盘上的 Command 键,而MetaModifier 的值对应 Control 键。当按下方向键时,KeypadModifier 的值也会被设置,因为方向键被视为数字小键盘的一部分。

注意:在 Windows 键盘上 ,Qt::MetaModifier 和Qt::Key_Meta 被映射为 Windows 键。

KeyboardModifiers 类型是QFlags<KeyboardModifier> 的 typedef。它存储 KeyboardModifier 值的按“或”运算组合。

另请参阅 MouseButton 和Modifier 。

enum Qt::LayoutDirection

指定 Qt 布局和文本处理的方向。

常量值描述
Qt::LeftToRight0从左到右的布局。
Qt::RightToLeft1从右到左的布局。
Qt::LayoutDirectionAuto2自动布局。

对于某些语言(尤其是阿拉伯语和希伯来语),必须使用从右到左的布局。

LayoutDirectionAuto 有两个用途。当与小部件和布局结合使用时,它将默认使用父级小部件或 `QApplication` 上设置的布局方向。这与 `QWidget::unsetLayoutDirection()` 具有相同的效果。

当 LayoutDirectionAuto 与文本排版结合使用时,它将表示文本方向由待排版的字符串内容决定。

另请参阅 QGuiApplication::setLayoutDirection()、QWidget::setLayoutDirection()、QTextOption::setTextDirection() 以及QString::isRightToLeft()。

enum Qt::MaskMode

此枚举指定了QPixmap::createMaskFromColor() 和QImage::createMaskFromColor() 函数的行为。

常量值描述
Qt::MaskInColor0创建一个蒙版,其中所有与给定颜色匹配的像素均为不透明。
Qt::MaskOutColor1创建一个蒙版,其中所有与给定颜色匹配的像素均为透明。

enum Qt::MatchFlag
flags Qt::MatchFlags

此枚举描述了在模型中搜索项目时可使用的匹配类型。

常量值描述
Qt::MatchExactly0执行基于QVariant 的匹配。
Qt::MatchFixedString8执行基于MatchCaseSensitive 的匹配。除非同时指定了 标志,否则基于字符串的比较不区分大小写。
Qt::MatchContains1搜索词包含在该项目中。
Qt::MatchStartsWith2搜索词与项目的开头匹配。
Qt::MatchEndsWith3搜索词与该项的末尾匹配。
Qt::MatchCaseSensitive16搜索区分大小写。
Qt::MatchRegularExpression4使用正则表达式作为搜索词执行基于字符串的匹配。使用QRegularExpression 。使用此标志时,可以将QRegularExpression 对象作为参数传递,并直接用于执行搜索。由于预期QRegularExpression 对象已完全配置,因此将忽略区分大小写的标志。此枚举值在Qt 5.15中添加。
Qt::MatchWildcard5使用包含通配符的字符串作为搜索词,执行基于字符串的匹配。
Qt::MatchWrap32执行循环搜索,即当搜索到达模型中的最后一个项目时,将从第一个项目重新开始,并持续进行直至所有项目均被检查完毕。
Qt::MatchRecursive64搜索整个层次结构。

注意:Qt ::MatchExactly、Qt::MatchContains、Qt::MatchStartsWith、Qt::MatchEndsWith、Qt::MatchRegularExpression、Qt::MatchWildcard 和 Qt::MatchFixedString 是互斥的。 在 Qt::MatchFlags 参数中同时设置多个这些选项所产生的行为是未定义的。

MatchFlags 类型是QFlags<MatchFlag> 的 typedef。它存储 MatchFlag 值的“或”组合。

另请参阅 QString::compare() 和QRegularExpression 。

enum Qt::Modifier
flags Qt::Modifiers

该枚举为 Qt 支持的键盘修饰键提供了更简短的名称。

注意:在 macOS 上,CTRL 值对应键盘上的 Command 键,而META 值对应 Control 键。

常量值描述
Qt::SHIFTQt::ShiftModifier所有标准键盘上都提供的 Shift 键。
Qt::METAQt::MetaModifierMeta 键。
Qt::CTRLQt::ControlModifierCtrl 键。
Qt::ALTQt::AltModifier普通 Alt 键,但不包括 AltGr 等键。

Modifiers 类型是QFlags<Modifier> 的 typedef。它存储 Modifier 值的按“或”运算组合。

另请参阅 KeyboardModifier 和MouseButton 。

[since 6.12] enum class Qt::MotionPreference

表示用户对动画和动作的首选设置。控件、样式和应用程序可根据枚举值限制动画数量,从而遵循此设置。

常量值描述
Qt::MotionPreference::NoPreference0无特定偏好。
Qt::MotionPreference::ReducedMotion1用户希望用户界面中的动画更少。

该枚举类型在 Qt 6.12 中引入。

enum Qt::MouseButton
flags Qt::MouseButtons

该枚举类型用于描述不同的鼠标按钮。

常量值描述
Qt::NoButton0x00000000该按钮状态不指向任何特定按钮(参见QMouseEvent::button())。
Qt::AllButtons0x07ffffff该值对应于所有可能鼠标按钮的掩码。用于设置MouseArea 的 'acceptedButtons' 属性,以接受所有鼠标按钮。
Qt::LeftButton0x00000001左键被按下,或者事件涉及左键。(在左撇子鼠标上,左键可能是右键。)
Qt::RightButton0x00000002右键。
Qt::MiddleButton0x00000004中键。
Qt::BackButton0x00000008“返回”按钮。(通常位于带有额外按钮的鼠标“拇指”一侧。这并非倾斜滚轮。)
Qt::XButton1BackButton“返回”按钮。
Qt::ExtraButton1XButton1“后退”按钮。
Qt::ForwardButton0x00000010“前进”按钮。(通常位于“后退”按钮旁边,同样由拇指按压。)
Qt::XButton2ForwardButton“前进”按钮。
Qt::ExtraButton2ForwardButton“前进”按钮。
Qt::TaskButton0x00000020“任务”按钮。
Qt::ExtraButton3TaskButton“任务”按钮。
Qt::ExtraButton40x00000040第 7 个非滚轮鼠标按钮。
Qt::ExtraButton50x00000080第 8 个非滚轮鼠标按钮。
Qt::ExtraButton60x00000100第 9 个非滚轮鼠标按钮。
Qt::ExtraButton70x00000200第 10 个非滚轮鼠标按钮。
Qt::ExtraButton80x00000400第11个非滚轮鼠标按钮。
Qt::ExtraButton90x00000800第 12 个非滚轮鼠标按钮。
Qt::ExtraButton100x00001000第 13 个非滚轮鼠标按钮。
Qt::ExtraButton110x00002000第 14 个非滚轮鼠标按钮。
Qt::ExtraButton120x00004000第 15 个非滚轮鼠标按钮。
Qt::ExtraButton130x00008000第 16 个非滚轮鼠标按钮。
Qt::ExtraButton140x00010000第 17 个非滚轮鼠标按钮。
Qt::ExtraButton150x00020000第 18 个非滚轮鼠标按钮。
Qt::ExtraButton160x00040000第 19 个非滚轮鼠标按钮。
Qt::ExtraButton170x00080000第 20 个非滚轮鼠标按钮。
Qt::ExtraButton180x00100000第 21 个非滚轮鼠标按钮。
Qt::ExtraButton190x00200000第22个非滚轮鼠标按钮。
Qt::ExtraButton200x00400000第 23 个非滚轮鼠标按钮。
Qt::ExtraButton210x00800000第 24 个非滚轮鼠标按钮。
Qt::ExtraButton220x01000000第25个非滚轮鼠标按钮。
Qt::ExtraButton230x02000000第 26 个非滚轮鼠标按钮。
Qt::ExtraButton240x04000000第 27 个非滚轮鼠标按钮。

注意:某些 多键鼠标型号预设了高编号按键,用于模拟键盘序列,以便在特定游戏中使用。若要使这些按键被识别为真正的“鼠标按键”,必须重新配置该设备(使用厂商提供的配置工具)。

MouseButtons 类型是QFlags<MouseButton> 的 typedef。它存储 MouseButton 值的按“或”运算组合。

另请参阅 KeyboardModifier 和Modifier 。

enum Qt::MouseEventFlag
flags Qt::MouseEventFlags

此枚举提供了有关“QMouseEvent ”的附加信息。

常量值描述
Qt::MouseEventCreatedDoubleClick0x01表示 Qt 已从该事件创建了一个MouseButtonDblClick 事件。该标志设置在引发该事件的MouseButtonPress 中,而不是在结果的MouseButtonDblClick 中。

MouseEventFlags 类型是QFlags<MouseEventFlag> 的 typedef。它存储 MouseEventFlag 值的按“或”运算组合。

enum Qt::MouseEventSource

此枚举描述了鼠标事件的来源,可用于判断该事件是否为源自其他设备(如触摸屏)的人工鼠标事件。

常量值描述
Qt::MouseEventNotSynthesized0最常见的值。在可获取此类信息的平台上,该值表示该事件是系统响应真实的鼠标事件而生成的。
Qt::MouseEventSynthesizedBySystem1表示该鼠标事件是由平台从触摸事件合成而来的。
Qt::MouseEventSynthesizedByQt2表示该鼠标事件是由 Qt 从未处理的触摸事件合成而成的。
Qt::MouseEventSynthesizedByApplication3表示该鼠标事件是由应用程序合成的。这使得能够将应用程序生成的鼠标事件与来自系统或由 Qt 合成的鼠标事件区分开来。该值在 Qt 5.6 中引入

另请参阅 Qt::AA_SynthesizeMouseForUnhandledTouchEvents 。

enum Qt::NativeGestureType

此枚举返回手势类型。

常量值描述
Qt::BeginNativeGesture0在手势事件流之前发送。
Qt::EndNativeGesture1在手势事件流之后发送。
Qt::PanNativeGesture2指定以像素为单位的位移增量。
Qt::ZoomNativeGesture3指定以百分比为单位的放大倍率增量。
Qt::SmartZoomNativeGesture4布尔型缩放状态。
Qt::RotateNativeGesture5指定旋转增量(单位:度)。
Qt::SwipeNativeGesture6在滑动操作之后发送。

enum Qt::Orientation
flags Qt::Orientations

该类型用于表示对象的朝向。

常量值
Qt::Horizontal0x1
Qt::Vertical0x2

例如,Orientation 可与 `QScrollBar ` 配合使用。

Orientations 类型是QFlags<Orientation> 的 typedef。它存储 Orientation 值的按“或”运算组合。

enum Qt::PenCapStyle

该枚举类型定义了Qt支持的笔尖样式,即可以通过QPainter 绘制的线条末端样式。

超出端点的正方形帽在终点处结束的平顶帽圆顶帽
Qt::SquareCapQt::FlatCapQt::RoundCap
常量值描述
Qt::FlatCap0x00一个不覆盖线段终点的方形线端。
Qt::SquareCap0x10一种方头线端,它覆盖线段端点并向外延伸,延伸长度为线宽的一半。
Qt::RoundCap0x20圆角线端。

另请参见 QPen 。

enum Qt::PenJoinStyle

该枚举类型定义了 Qt 支持的笔画连接样式,即可以使用 `QPainter` 绘制哪种连接两条相邻直线的连接样式。

倒角接合尖角斜接接头圆角连接
Qt::BevelJoinQt::MiterJoinQt::RoundJoin
常量值描述
Qt::MiterJoin0x00线条的外边缘被延伸至以一定角度相交,并填充该区域。
Qt::BevelJoin0x40两条线之间的三角形缺口被填充。
Qt::RoundJoin0x80两条线之间的圆弧被填充。
Qt::SvgMiterJoin0x100一种符合SVG 1.2 Tiny规范中对“斜接”定义的斜接。

另请参阅 QPen 。

enum Qt::PenStyle

此枚举类型定义了可使用QPainter 绘制的笔触样式。这些样式包括:

实线虚线虚线
Qt::SolidLineQt::DashLineQt::DotLine
破折号点线破折号-省略号-省略号线自定义虚线
Qt::DashDotLineQt::虚点虚点线Qt::CustomDashLine
常量值描述
Qt::NoPen0完全不绘制线条。例如,QPainter::drawRect() 会填充区域但不绘制任何边界线。
Qt::SolidLine1一条实线。
Qt::DashLine2间隔几个像素的虚线。
Qt::DotLine3间隔几个像素的点。
Qt::DashDotLine4点和短线交替出现。
Qt::DashDotDotLine5一条短线、两个点、一条短线、两个点。
Qt::CustomDashLine6使用QPainterPathStroker::setDashPattern() 定义的自定义图案。

另请参阅 QPen 。

[since 6.5] enum class Qt::PermissionStatus

此枚举描述了权限的可能状态。

常量值描述
Qt::PermissionStatus::Undetermined0权限状态尚不清楚。应通过QCoreApplication::requestPermission() 请求权限以确定实际状态。此状态绝不会是请求权限的结果。
Qt::PermissionStatus::Granted1用户已明确授予应用程序该权限,或者已知该权限在给定平台上无需用户授权。
Qt::PermissionStatus::Denied2用户已明确拒绝授予该应用所请求的权限,或者已知该权限在给定平台上对应用不可用或不适用。

注意:在 Android系统上 ,该平台的 API 不提供Undetermined 状态。因此,如果应用程序的某项权限被拒绝,QCoreApplication::checkPermission() 默认返回Undetermined ,直到调用QCoreApplication::requestPermission() 为止。此后,QCoreApplication::checkPermission() 将报告非Undetermined 状态。

该枚举类型在 Qt 6.5 中引入。

另请参阅 QCoreApplication::requestPermission()、QCoreApplication::checkPermission() 以及“应用程序权限”。

enum Qt::ReturnByValueConstant

这是一个占位类型,旨在帮助用户从某些已弃用的 API 过渡到其替代 API。

另请参阅 QCursor::bitmap()、QCursor::mask()、QLabel::picture() 以及QLabel::pixmap()。

enum Qt::ScreenOrientation
flags Qt::ScreenOrientations

此枚举类型指定了屏幕可能具有的各种方向。

常量值描述
Qt::PrimaryOrientation0x00000000显示器的主要方向。
Qt::LandscapeOrientation0x00000002横向,显示宽度大于显示高度。
Qt::PortraitOrientation0x00000001纵向,显示屏高度大于显示屏宽度,相对于横向顺时针旋转 90 度。
Qt::InvertedLandscapeOrientation0x00000008倒置横向方向,相对于横向方向旋转 180 度。
Qt::InvertedPortraitOrientation0x00000004倒置横向,相对于纵向旋转了 180 度。

ScreenOrientations 类型是QFlags<ScreenOrientation> 的 typedef 定义。它存储 ScreenOrientation 值的按“或”运算组合。

enum Qt::ScrollBarPolicy

该枚举类型描述了QAbstractScrollArea 中滚动条的各种模式。

常量值描述
Qt::ScrollBarAsNeeded0QAbstractScrollArea 当内容过大而无法完全显示时显示滚动条,否则不显示。这是默认行为。
Qt::ScrollBarAlwaysOff1QAbstractScrollArea 永远不显示滚动条。
Qt::ScrollBarAlwaysOn2QAbstractScrollArea 始终显示滚动条。在采用临时滚动条的系统上(例如 Mac 10.7 及更高版本),该属性将被忽略。

(水平和垂直滚动条的模式是相互独立的。)

enum Qt::ScrollPhase

此枚举描述了滚动的阶段。

常量值描述
Qt::NoScrollPhase0输入设备不支持滚动阶段。该值在 Qt 5.7 中引入。
Qt::ScrollBegin1滚动即将开始,但滚动距离尚未发生变化。
Qt::ScrollUpdate2滚动距离已发生变化(默认)。
Qt::ScrollEnd3滚动已结束,且滚动距离不再发生变化。
Qt::ScrollMomentum4用户已不再触摸输入设备,但由于滚动惯性,滚动仍在继续。该值自 Qt 5.12 起引入。

enum Qt::ShortcutContext

要触发QEvent::Shortcut 事件,用户必须在快捷键有效的上下文中输入该快捷键的键序列。可能的上下文包括:

常量值描述
Qt::WidgetShortcut0当快捷键的父控件拥有焦点时,该快捷键处于活动状态。
Qt::WidgetWithChildrenShortcut3当快捷键的父控件或其任何子控件获得焦点时,该快捷键处于活动状态。作为顶级控件的子控件(弹出窗口除外)不受此快捷键上下文的影响。
Qt::WindowShortcut1当其父控件是活动顶级窗口的逻辑子控件时,该快捷键处于活动状态。
Qt::ApplicationShortcut2当该应用程序的某个窗口处于活动状态时,该快捷键处于活动状态。

enum Qt::SizeHint

该枚举由QGraphicsLayoutItem::sizeHint() 方法使用

常量值描述
Qt::MinimumSize0用于指定图形布局项的最小尺寸。
Qt::PreferredSize1用于指定图形布局项的首选大小。
Qt::MaximumSize2用于指定图形布局项的最大尺寸。
Qt::MinimumDescent3用于指定图形布局项中文本字符串的最小下沉量。

另请参阅 QGraphicsLayoutItem::sizeHint()。

enum Qt::SizeMode

该枚举由QPainter::drawRoundedRect() 和QPainterPath::addRoundedRect() 函数使用,用于指定相对于指定边界矩形尺寸的矩形角半径。

常量值描述
Qt::AbsoluteSize0使用绝对测量值指定大小。
Qt::RelativeSize1指定相对于边界矩形的大小,通常使用百分比单位。

enum Qt::SortOrder

此枚举描述了小部件中项目如何进行排序。

常量值描述
Qt::AscendingOrder0项目按升序排序,例如在 Latin-1 区域设置中,从“AAA”开始,以“ZZZ”结束
Qt::DescendingOrder1项目按降序排序,例如在 Latin-1 区域设置中,以“ZZZ”开头,以“AAA”结尾

enum Qt::SplitBehaviorFlags
flags Qt::SplitBehavior

此枚举指定了QString::split()函数在处理空字符串时的行为方式。

常量值描述
Qt::KeepEmptyParts0如果字段为空,则将其保留在结果中。
Qt::SkipEmptyParts0x1如果字段为空,则不要将其包含在结果中。

SplitBehavior 类型是QFlags<SplitBehaviorFlags> 的 typedef。它存储 SplitBehaviorFlags 值的“或”组合。

另请参阅 ` QString::split()`。

enum Qt::TabFocusBehavior

此枚举类型为Tab键导航提供了不同的焦点行为。

常量值描述
Qt::NoTabFocus0x00iterate 无。
Qt::TabFocusTextControls0x01遍历文本控件和小组件。
Qt::TabFocusListControls0x02遍历列表控件和小部件。
Qt::TabFocusAllControls0xff遍历所有控件和小部件。

enum Qt::TextElideMode

此枚举用于指定在显示内容超出显示区域时,省略号应出现在何处:

常量值描述
Qt::ElideLeft0省略号应出现在文本开头。
Qt::ElideRight1省略号应出现在文本末尾。
Qt::ElideMiddle2省略号应出现在文本中间。
Qt::ElideNone3省略号不应出现在文本中。当将其传递给诸如 `QFontMetrics::elidedText()` 之类的函数时,这将导致返回完整的字符串,除非文本包含多种长度变体。在这种情况下,必须通过截断至组件宽度来实现省略。

对于 URL(例如“http://bugreports.qt.../QTWEBSITE-13/"),而 Qt::ElideRight 则适用于其他字符串(例如,“在 Ma 上部署应用程序...”)。

另请参阅 QAbstractItemView::textElideMode 、QFontMetrics::elidedText()、AlignmentFlag 和QTabBar::elideMode 。

enum Qt::TextFlag

此枚举类型用于定义一些修饰标志。其中某些标志仅在打印上下文中才有意义:

常量值描述
Qt::TextSingleLine0x0100将所有空白字符均视为空格,并仅打印一行。
Qt::TextDontClip0x0200如果无法保持在给定的边界内,则会超出边界进行打印。
Qt::TextExpandTabs0x0400使 U+0009(ASCII 制表符)字符移动到下一个制表停靠点。
Qt::TextShowMnemonic0x0800将字符串“&P”显示为P。若要显示“&”符号,请使用“&&”。
Qt::TextWordWrap0x1000在适当的位置(例如单词边界)换行。
Qt::TextWrapAnywhere0x2000在任意位置换行,即使在单词内部也不例外。
Qt::TextHideMnemonic0x8000与 Qt::TextShowMnemonic 相同,但不会绘制下划线。
Qt::TextDontPrint0x4000将此文本视为“隐藏”并避免打印。
Qt::TextIncludeTrailingSpaces0x08000000当设置此选项时,QTextLine::naturalTextWidth() 和QTextLine::naturalTextRect() 将返回一个包含文本中尾部空格宽度的值;否则,该宽度将被排除在外。
Qt::TextJustificationForced0x10000确保文本行两端对齐。

您可以使用任意数量的修饰标志,但 Qt::TextSingleLine 和 Qt::TextWordWrap 不能组合使用。

对于给定用途不合适的标志通常会被忽略。

enum Qt::TextFormat

此枚举用于既能显示纯文本又能显示富文本的小部件,例如QLabel 。它用于决定应将文本字符串解释为纯文本还是富文本。通常通过将枚举值之一传递给QStaticText::setTextFormat()函数来实现。

常量值描述
Qt::PlainText0将文本字符串解释为纯文本字符串。
Qt::RichText1将文本字符串解释为富文本字符串。有关富文本的定义,请参阅“支持的 HTML 子集”。
Qt::AutoText2如果 `Qt::mightBeRichText()` 返回 `true`,则该文本字符串被解释为 Qt::RichText;否则被解释为 Qt::PlainText。
Qt::MarkdownText3该文本字符串被解释为 Markdown 格式的文本。此枚举值在 Qt 5.14 中新增。

enum Qt::TextInteractionFlag
flags Qt::TextInteractionFlags

此枚举指定文本显示控件如何响应用户输入。

常量值描述
Qt::NoTextInteraction0无法与文本进行交互。
Qt::TextSelectableByMouse1可以使用鼠标选择文本,并通过上下文菜单或标准键盘快捷键将其复制到剪贴板。
Qt::TextSelectableByKeyboard2可以使用键盘上的方向键选择文本。此时会显示一个文本光标。
Qt::LinksAccessibleByMouse4可以使用鼠标突出显示并激活链接。
Qt::LinksAccessibleByKeyboard8可使用 Tab 键将焦点移至链接,并按 Enter 键激活。
Qt::TextEditable16文本完全可编辑。
Qt::TextEditorInteractionTextSelectableByMouse | TextSelectableByKeyboard | TextEditable这是文本编辑器的默认设置。
Qt::TextBrowserInteractionTextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboardQTextBrowser 的默认设置。

TextInteractionFlags 类型是QFlags<TextInteractionFlag> 的 typedef。它存储 TextInteractionFlag 值的按“或”运算组合。

enum Qt::TileRule

此枚举描述了在绘制图像时如何重复或拉伸图像的各个部分。

常量值描述
Qt::StretchTile0将图像缩放以适应可用区域。
Qt::RepeatTile1重复图像,直到没有空间为止。可能会裁剪最后一张图像。
Qt::RoundTile2与“重复”类似,但会缩小图像尺寸,以确保最后一张图块不会被裁剪。

enum Qt::TimeSpec

常数值描述
Qt::LocalTime0本地时间,由系统时区设置控制。
Qt::UTC1协调世界时。
Qt::OffsetFromUTC2相对于协调世界时的秒数偏移量。
Qt::TimeZone3一个命名的时区。

LocalTime 和 TimeZone 都会处理过渡情况,例如夏令时的开始和结束。UTC 是通常用于指定时区的标准时间:格林威治标准时间与它的偏移量为零。UTC 和 OffsetFromUTC 均不存在任何过渡情况。

使用 OffsetFromUTC 指定日期时间时,还必须提供相对于 UTC 的偏移量(以秒为单位)。 若要使用 TimeZone 指定日期时间,必须提供一个 `QTimeZone `。从 Qt 6.5 开始,`QTimeZone ` 现可将时间规范(必要时包含偏移量)打包为轻量级时间描述,因此传递 `QTimeZone ` 现可提供统一的方式来使用日期时间 API,无需针对不同的时间规范采用不同的调用方式。

注意:在 系统时区设置发生变更后, 变更前创建的基于 LocalTime 的QDateTime 对象的行为未定义:QDateTime 可能缓存了因该变更而失效的数据。(此情况不会因系统时区的转换而触发。) 在长期运行的进程中,系统时区数据的更新(例如当政界人士更改某个时区的规则时)同样可能导致更新后的时区信息与更新前创建的QDateTime 对象(无论使用LocalTime还是TimeZone)所缓存的数据之间发生冲突。

另请参阅 QTimeZone 和QDateTime 。

[since 6.8] enum class TimerId

该类型用于表示定时器 ID(例如,QTimer 和QChronoTimer )。其底层类型为int 。您可以使用qToUnderlying() 将 Qt::TimerId 转换为int 。

常量值描述
QObject::TimerId::Invalid0表示一个无操作定时器 ID;其用法取决于上下文,例如,这是 `QObject::startTimer()` 返回的值,用于指示未能启动定时器;而 `QChronoTimer::id()` 在定时器处于非活动状态时返回此值,即 `timer.isActive() ` 返回 `false`。

该枚举在 Qt 6.8 中引入。

另请参阅 QTimer::id()、QChronoTimer::id() 和QObject::startTimer()。

enum Qt::TimerType

计时器类型决定了计时器的精度。

常量值描述
Qt::PreciseTimer0高精度计时器力求保持毫秒级精度
Qt::CoarseTimer1粗略计时器力求将精度控制在目标间隔的 5% 范围内
Qt::VeryCoarseTimer2非常粗略的计时器仅保持整秒精度

在 UNIX 系统(包括 Linux、macOS 和 iOS)上,Qt 会为 Qt::PreciseTimer 保持毫秒级精度。对于 Qt::CoarseTimer,其间隔会进行最多 5% 的调整,以使该定时器与预计在同一时间或相近时间触发的其他定时器保持同步。 其目的是让大多数定时器在同一时间唤醒,从而减少 CPU 唤醒次数并降低功耗。

在 Windows 系统上,Qt 将为 Qt::PreciseTimer 使用 Windows 的 Multimedia 定时器功能(如果可用),而为 Qt::CoarseTimer 和 Qt::VeryCoarseTimer 使用常规的 Windows 定时器。

在所有平台上,Qt::VeryCoarseTimer 的间隔都会四舍五入到最接近的整秒(例如,23500 毫秒的间隔将四舍五入为 24000 毫秒,20300 毫秒将四舍五入为 20000 毫秒)。

enum Qt::ToolBarArea
flags Qt::ToolBarAreas

常数值
Qt::LeftToolBarArea0x1
Qt::RightToolBarArea0x2
Qt::TopToolBarArea0x4
Qt::BottomToolBarArea0x8
Qt::AllToolBarAreasToolBarArea_Mask
Qt::NoToolBarArea0

ToolBarAreas 类型是QFlags<ToolBarArea> 的 typedef。它存储 ToolBarArea 值的按“或”运算组合。

enum Qt::ToolButtonStyle

工具按钮的样式,用于描述按钮的文本和图标应如何显示。

常量值描述
Qt::ToolButtonIconOnly0仅显示图标。
Qt::ToolButtonTextOnly1仅显示文本。
Qt::ToolButtonTextBesideIcon2文本显示在图标旁边。
Qt::ToolButtonTextUnderIcon3文本显示在图标下方。
Qt::ToolButtonFollowStyle4请遵循《style 》。

enum Qt::TouchPointState
flags Qt::TouchPointStates

该枚举表示在发生QTouchEvent 时触点所处的状态。

常量值描述
Qt::TouchPointUnknownState0x00触摸点的状态未知。
Qt::TouchPointPressed0x01触摸点目前处于被按下的状态。
Qt::TouchPointMoved0x02触摸点已移动。
Qt::TouchPointStationary0x04触点未移动。
Qt::TouchPointReleased0x08触点已被释放。

TouchPointStates 类型是QFlags<TouchPointState> 的 typedef 定义。它存储 TouchPointState 值的按“或”运算组合。

enum Qt::TransformationMode

此枚举类型用于定义图像变换(例如缩放)是否应保持平滑。

常量值描述
Qt::FastTransformation0变换执行迅速,不进行平滑处理。
Qt::SmoothTransformation1使用双线性滤波对生成的图像进行变换。

另请参阅 QImage::scaled()。

enum Qt::UIEffect

此枚举描述了可用的 UI 效果。

默认情况下,Qt 会尝试针对每种效果使用平台特有的桌面设置。若要阻止此行为,请使用 `QApplication::setDesktopSettingsAware()` 函数(将 `false ` 作为参数传递);若要启用或禁用特定效果,请使用 `QApplication::setEffectEnabled()`。

请注意,在色彩深度低于 16 位的屏幕上,所有效果均会被禁用。

常量值描述
Qt::UI_AnimateMenu1显示动画菜单。
Qt::UI_FadeMenu2显示淡入淡出的菜单。
Qt::UI_AnimateCombo3显示带动画效果的下拉列表。
Qt::UI_AnimateTooltip4显示工具提示动画。
Qt::UI_FadeTooltip5显示工具提示淡入淡出效果。
Qt::UI_AnimateToolBox6保留

另请参阅 QApplication::setEffectEnabled() 和QGuiApplication::setDesktopSettingsAware()。

enum Qt::WhiteSpaceMode

该枚举描述了QTextDocument 类所使用的空白模式类型,以满足不同类型文本信息的需求。

常量值描述
Qt::WhiteSpaceNormal0用于显示段落中正常换行文本的空白模式。
Qt::WhiteSpacePre1一种预格式化文本模式,其中空格会被精确再现。
Qt::WhiteSpaceNoWrap2 

enum Qt::WidgetAttribute

该枚举类型用于指定各种小部件属性。属性可通过 `QWidget::setAttribute()` 进行设置和清除,并通过 `QWidget::testAttribute()` 进行查询,不过某些属性还提供了下文将提到的专用便捷函数。

常量值描述
Qt::WA_AcceptDrops78允许将拖放操作中的数据拖放到控件上(参见QWidget::setAcceptDrops())。
Qt::WA_AlwaysShowToolTips84为非活动窗口启用工具提示。
Qt::WA_CustomWhatsThis47表示该小部件希望在“这是什么?”模式下继续正常运行。此设置由小部件的作者设定。
Qt::WA_DeleteOnClose55当控件已接受关闭事件时,使 Qt 删除该控件(参见QWidget::closeEvent())。
Qt::WA_Disabled0表示该控件已被禁用,即不会接收任何鼠标或键盘事件。此外还有一个获取函数QWidget::isEnabled()。该属性由 Qt 内核进行设置或清除。
Qt::WA_DontShowOnScreen103表示该控件处于隐藏状态,或不属于可视桌面范围。
Qt::WA_ForceDisabled32表示该控件已被显式禁用,即即使所有其父控件均处于启用状态,它仍将保持禁用。这隐含了 WA_Disabled。该状态由QWidget::setEnabled() 和QWidget::setDisabled() 设置或清除。
Qt::WA_ForceUpdatesDisabled59表示小部件的更新已被显式禁用;即即使其所有父级都设置为更新启用状态,该小部件仍将保持禁用状态。这隐含了 WA_UpdatesDisabled。该标志通过QWidget::setUpdatesEnabled() 进行设置/清除。
Qt::WA_Hover74强制 Qt 在鼠标进入或离开小部件时生成绘制事件。此功能通常用于实现自定义样式时。
Qt::WA_InputMethodEnabled14启用亚洲语言的输入法。在创建自定义文本编辑控件时必须设置此选项。
Qt::WA_KeyboardFocusChange77当用户通过键盘(Tab、BackTab 或快捷键)切换焦点时,在顶级窗口上设置此选项。
Qt::WA_KeyCompression33若设置此选项,则启用键事件压缩;若未设置,则禁用。默认情况下键事件压缩处于关闭状态,因此小部件会为每次按键接收一个按键事件(或更多,因为自动重复功能通常处于开启状态)。 若启用此功能,而程序无法及时处理键盘输入,Qt 可能会尝试压缩键盘事件,以便在每个事件中处理多个字符。 例如,如果 CPU 重新计算键盘布局耗时过长,文字处理器控件在每次调用 `QKeyEvent::text()` 时可能会接收 2、3 个或更多字符。如果控件支持多字符 Unicode 输入,启用压缩总是安全的。 Qt 仅对可打印字符执行键事件压缩。Qt::Modifier 键、光标移动键、功能键以及各类操作键(例如 Escape、Enter、Backspace、PrintScreen)会停止键事件压缩,即使还有可压缩的键事件可用。 除 Mac 和 X11 以外的平台不支持此压缩功能,在此情况下启用该功能将无效。此功能由控件的开发者设置或清除。
Qt::WA_LayoutOnEntireRect48表示该控件希望QLayout 对整个QWidget::rect()进行操作,而不仅仅是QWidget::contentsRect()。此设置由控件的开发者设定。
Qt::WA_LayoutUsesWidgetRect92在使用QLayout 对该小部件进行布局时,忽略样式中的布局项矩形(rect)。
Qt::WA_MacOpaqueSizeGrip85表示原生尺寸控制柄应为不透明而非透明(默认行为)。此属性仅适用于 macOS,并由控件作者设置。
Qt::WA_MacShowFocusRect88表示该控件周围应显示QFocusFrame 。某些控件会忽略此属性,自行绘制焦点光环。请注意,QWidget::focusPolicy 在决定是否获得焦点方面起主要作用,此属性仅控制该控件是否显示焦点边框。此属性仅适用于 macOS。
Qt::WA_MacNormalSize89表示该小部件应采用 macOS 中小部件的标准尺寸。此属性仅适用于 macOS。
Qt::WA_MacSmallSize90表示小部件应采用 macOS 中小部件的“小”尺寸。此属性仅适用于 macOS。
Qt::WA_MacMiniSize91表示小部件应采用 macOS 中小部件的迷你尺寸。此属性仅适用于 macOS。
Qt::WA_Mapped11表示该小部件已在屏幕上映射。该属性由 Qt 内核设置或清除。
Qt::WA_MouseNoMask71使小部件接收针对整个小部件的鼠标事件,无论当前设置的遮罩如何,并覆盖 `QWidget::setMask()`。此属性不适用于顶级窗口。
Qt::WA_MouseTracking2表示该控件已启用鼠标跟踪。参见QWidget::mouseTracking 。
Qt::WA_Moved43表示该小部件具有显式位置。此标志由QWidget::move()和QWidget::setGeometry()设置或清除。
Qt::WA_NoChildEventsForParent58表示该控件不希望将其 `ChildAdded ` 或 `ChildRemoved ` 事件发送给父控件。这种情况很少需要,但有助于避免自动插入控件(如拆分器和布局)。此属性由控件的开发者设置。
Qt::WA_NoChildEventsFromChildren39表示该控件不希望接收其子控件发送的ChildAdded 或ChildRemoved 事件。此标志由控件的作者设置。
Qt::WA_NoMouseReplay54用于弹出式小部件。表示当弹出式小部件关闭时,不应重放最近的鼠标点击事件。该标志由小部件的作者设置,并在小部件每次接收新鼠标事件时由 Qt 内核清除。
Qt::WA_NoMousePropagation73禁止将鼠标事件传播到该控件的父控件。此属性默认处于禁用状态。
Qt::WA_TransparentForMouseEvents51启用此属性后,将禁用向该控件及其子控件传递鼠标事件。鼠标事件将传递给其他控件,就好像该控件及其子控件不存在于控件层次结构中一样;鼠标点击和其他事件实际上会“穿过”它们。此属性默认处于禁用状态。
Qt::WA_NoSystemBackground9表示该控件没有背景,即当控件接收绘制事件时,背景不会自动重绘。注意:与 WA_OpaquePaintEvent 不同,新暴露的区域绝不会被填充为背景色(例如,在首次显示窗口后,用户可以“透过”窗口看到内容,直到应用程序处理绘制事件为止)。该标志由控件的开发者设置或清除。
Qt::WA_OpaquePaintEvent4表示小部件在接收到绘制事件时会重绘其所有像素。因此,在更新、调整大小、滚动和焦点变化等操作中,无需在生成绘制事件之前先清除小部件。 使用 WA_OpaquePaintEvent 可带来微小的性能优化:在不支持双缓冲的系统上,它有助于减少闪烁现象,并避免了在绘制前擦除背景所需的计算周期。注意:与 WA_NoSystemBackground 不同,WA_OpaquePaintEvent 会尽力避免使用透明的窗口背景。该标志由小部件的开发者设置或清除。
Qt::WA_OutsideWSRange49表示该小部件位于窗口系统坐标系的有效范围之外。位于有效范围之外的小部件无法映射到屏幕上。此标志由 Qt 内核设置或清除。
Qt::WA_PaintOnScreen8表示该控件希望直接在屏幕上绘制。设置了此属性的控件不参与合成管理,即它们不能呈现半透明效果,也无法透过半透明的重叠控件显示。注意:此标志仅在 X11 上受支持,且会禁用双缓冲。在 Qt for Embedded Linux 中,该标志仅在设置于顶级控件时才有效,且依赖于活动屏幕驱动程序的支持。此标志由控件的开发者设置或清除。 若要在 Qt 的绘制系统之外进行渲染(例如,当需要使用原生绘制原语时),则需要重写 `QWidget::paintEngine()` 方法,使其返回 0 并设置此标志。
Qt::WA_PaintUnclipped52使所有在此控件上运行的绘制器不受裁剪限制。 该小部件的子项或位于其前面的其他小部件不会裁剪绘制器可绘制区域。此标志仅支持已设置 WA_PaintOnScreen 标志的小部件。实现此功能的跨平台首选方法是创建一个位于其他小部件前面的透明小部件。
Qt::WA_PendingMoveEvent34表示有一个移动事件待处理,例如当一个隐藏的小部件被移动时。该标志由 Qt 内核设置或清除。
Qt::WA_PendingResizeEvent35表示有待处理的调整大小事件,例如当隐藏的小部件被调整大小时。该标志由 Qt 内核设置或清除。
Qt::WA_QuitOnClose76表示在关闭最后一个窗口时,决定是否退出应用程序时应将该小部件纳入考虑范围。可通过QGuiApplication::quitOnLastWindowClosed 属性修改此行为。默认情况下,此属性对所有Qt::Window 类型的小部件均被设置。
Qt::WA_Resized42表示该小部件具有显式大小。该标志由QWidget::resize()和QWidget::setGeometry()设置或清除。
Qt::WA_RightToLeft56表示该小部件的布局方向为从右到左。
Qt::WA_SetCursor38表示该小部件拥有自己的光标。该标志由QWidget::setCursor() 和QWidget::unsetCursor() 设置或清除。
Qt::WA_SetFont37表示该控件具有自己的字体。该标志由QWidget::setFont() 设置或清除。
Qt::WA_SetPalette36表示该控件拥有自己的调色板。该标志由QWidget::setPalette() 设置或清除。
Qt::WA_SetStyle86表示该控件拥有自己的样式。该标志由QWidget::setStyle() 设置或清除。
Qt::WA_ShowModal70此属性已弃用。请改用QWidget::windowModality 。
Qt::WA_StaticContents5表示控件内容对齐于西北角且为静态。在调整大小时,此类控件仅会针对新显示的部分接收绘制事件。该标志由控件的作者设置或清除。
Qt::WA_StyleSheet97表示该控件使用样式表进行样式设置。只要控件受样式表影响,无论样式表是否实际改变了控件的外观,都会设置 WA_StyleSheet。
Qt::WA_StyleSheetTarget131表示控件的外观已被样式表修改。此时 WA_StyleSheet 也会被设置。该值自 Qt 5.12 起引入。
Qt::WA_TabletTracking129表示该控件已启用平板设备跟踪功能。参见QWidget::tabletTracking 。
Qt::WA_TranslucentBackground120表示该控件应具有半透明背景,即控件中的任何非不透明区域都将呈现半透明效果,因为该控件将拥有一个Alpha通道。设置此标志会导致 WA_NoSystemBackground 被设置。在 Windows 系统上,该控件还需设置Qt::FramelessWindowHint 窗口标志。 该标志由控件的开发者设置或清除。截至 Qt 5.0 版本,在控件显示后切换此属性在各平台上的支持情况并不一致。若需使用半透明背景,请在创建控件时尽早设置该属性,并避免后续修改。
Qt::WA_UnderMouse1表示小部件位于鼠标光标下方。在拖放操作期间,该值无法正确更新。此外还有一个获取函数:QWidget::underMouse()。该标志由 Qt 内核设置或清除。
Qt::WA_UpdatesDisabled10表示更新被阻塞(包括系统后台)。该标志由 Qt 内核设置或清除。警告:小部件的开发者绝不能自行设置或清除此标志。
Qt::WA_WindowModified41表示该窗口已被标记为已修改。在某些平台上,此标志不会产生任何效果;而在其他平台(包括 macOS 和 Windows)上,窗口将呈现已修改的外观。此标志由QWidget::setWindowModified() 设置或清除。
Qt::WA_WindowPropagation80使顶级窗口从其父窗口继承字体、调色板和区域设置。
Qt::WA_MacAlwaysShowToolWindow96在 macOS 上,即使应用程序处于非活动状态,也会显示工具窗口。默认情况下,当应用程序处于非活动状态时,所有工具窗口均被隐藏。
Qt::WA_SetLocale87表示应在小部件中考虑区域设置。
Qt::WA_StyledBackground93表示应使用样式化背景来绘制小部件。
Qt::WA_ShowWithoutActivating98显示小部件但不使其处于活动状态。
Qt::WA_NativeWindow100表示为控件创建一个原生窗口。启用此标志还将强制为控件的祖先创建原生窗口,除非设置了 Qt::WA_DontCreateNativeAncestors。
Qt::WA_DontCreateNativeAncestors101表示即使小部件本身是本机窗口,其父窗口仍保持为非本机窗口。
Qt::WA_X11NetWmWindowTypeDesktop104将 _NET_WM_WINDOW_TYPE_DESKTOP 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。
Qt::WA_X11NetWmWindowTypeDock105将 _NET_WM_WINDOW_TYPE_DOCK 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。有关详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。
Qt::WA_X11NetWmWindowTypeToolBar106将 _NET_WM_WINDOW_TYPE_TOOLBAR 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于QToolBar ,Qt 会自动设置此属性。
Qt::WA_X11NetWmWindowTypeMenu107将 _NET_WM_WINDOW_TYPE_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:当窗口被分离时,Qt 会自动为QMenu 设置此属性。
Qt::WA_X11NetWmWindowTypeUtility108将 _NET_WM_WINDOW_TYPE_UTILITY 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。有关更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于Qt::Tool 窗口类型,Qt会自动设置此属性。
Qt::WA_X11NetWmWindowTypeSplash109将 _NET_WM_WINDOW_TYPE_SPLASH 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。注意:对于Qt::SplashScreen 窗口类型,Qt 会自动设置此属性。
Qt::WA_X11NetWmWindowTypeDialog110将 _NET_WM_WINDOW_TYPE_DIALOG 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。注意:Qt 会为Qt::Dialog 和Qt::Sheet 窗口类型自动设置此属性。
Qt::WA_X11NetWmWindowTypeDropDownMenu111将 _NET_WM_WINDOW_TYPE_DROPDOWN_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 有关更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于添加到QMenuBar 中的QMenu 对象,Qt 会自动设置此属性。
Qt::WA_X11NetWmWindowTypePopupMenu112将 _NET_WM_WINDOW_TYPE_POPUP_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于QMenu ,Qt 会自动设置此属性。
Qt::WA_X11NetWmWindowTypeToolTip113将 _NET_WM_WINDOW_TYPE_TOOLTIP 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于Qt::ToolTip 窗口类型,Qt 会自动设置此属性。
Qt::WA_X11NetWmWindowTypeNotification114将 _NET_WM_WINDOW_TYPE_NOTIFICATION 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。
Qt::WA_X11NetWmWindowTypeCombo115将 _NET_WM_WINDOW_TYPE_COMBO 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。该属性在非 X11 平台上无效。注意:对于QComboBox 弹出窗口,Qt会自动设置此属性。
Qt::WA_X11NetWmWindowTypeDND116将 _NET_WM_WINDOW_TYPE_DND 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。更多详细信息请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:Qt 会在拖拽过程中自动为反馈小部件设置此属性。
Qt::WA_AcceptTouchEvents121允许将触摸事件(参见QTouchEvent )发送至控件。必须为所有能处理触摸事件的控件设置此属性。若未设置此属性,来自触摸设备的事件将被作为鼠标事件发送。
Qt::WA_TouchPadAcceptSingleTouchEvents123允许将触摸板单点触控事件发送至该小部件。
Qt::WA_X11DoNotAcceptFocus126要求窗口管理器不要将焦点赋予此顶级窗口。此属性在非 X11 平台上无效。
Qt::WA_AlwaysStackOnTop (since Qt 5.4)128强制将QOpenGLWidget 和QQuickWidget 最后渲染,使其位于其他小部件之上。对于其他类型的小部件,此属性将被忽略。 设置此属性会破坏堆叠顺序,但允许创建半透明的 OpenGL 控件,使其下方其他控件仍可见。强烈建议在启用或禁用此属性后,对控件的顶级窗口调用update() 方法。
Qt::WA_ContentsMarginsRespectsSafeArea130QWidget 默认会将窗口的安全区域边距纳入其内容的边距中,从而尊重窗口的安全区域边距。这意味着,除非设置了 Qt::WA_LayoutOnEntireRect 属性,否则QLayout 将使用小部件的内容区域进行布局。 结合内容边距设为 0 的设置,可在实际布局中应用此特性,例如在 iOS 设备上,允许背景图像位于状态栏和其他系统区域下方,同时仍允许该背景的子控件根据安全区域进行内嵌布局。

enum Qt::WindowFrameSection

该枚举用于描述窗框的各个部分。它由QGraphicsWidget::windowFrameSectionAt() 函数返回,用于描述鼠标当前位于窗框的哪个部分。

常量值
Qt::NoSection0
Qt::LeftSection1
Qt::TopLeftSection2
Qt::TopSection3
Qt::TopRightSection4
Qt::RightSection5
Qt::BottomRightSection6
Qt::BottomSection7
Qt::BottomLeftSection8
Qt::TitleBarArea9

另请参阅 QGraphicsWidget::windowFrameEvent()、QGraphicsWidget::paintWindowFrame() 和QGraphicsWidget::windowFrameSectionAt()。

enum Qt::WindowModality

此枚举指定模态窗口的行为。模态窗口是指会阻塞其他窗口输入的窗口。请注意,模态窗口的子窗口不会被阻塞。

其取值如下:

常量值描述
Qt::NonModal0该窗口非模态,不会阻塞对其他窗口的输入。
Qt::WindowModal1该窗口对单个窗口层次结构具有模态性,并会阻塞对其父窗口、所有祖先窗口以及其父窗口和祖先窗口的所有同级窗口的输入。
Qt::ApplicationModal2该窗口对应用程序具有模态性,并阻止对所有窗口的输入。

另请参阅 QWidget::windowModality 和QDialog 。

enum Qt::WindowState
flags Qt::WindowStates

此枚举类型用于指定顶级窗口的当前状态。

这些状态包括

常量值描述
Qt::WindowNoState0x00000000窗口未设置任何状态(处于正常状态)。
Qt::WindowMinimized0x00000001窗口已最小化(即图标化)。
Qt::WindowMaximized0x00000002窗口处于最大化状态,周围有边框。
Qt::WindowFullScreen0x00000004窗口填满整个屏幕,周围没有边框。
Qt::WindowActive0x00000008该窗口是活动窗口,即拥有键盘焦点。

WindowStates 类型是QFlags<WindowState> 的 typedef 定义。它存储 WindowState 值的按“或”运算组合。

enum Qt::WindowType
flags Qt::WindowFlags

此枚举类型用于为小部件指定各种窗口系统属性。这些属性虽然比较少见,但在某些情况下是必不可少的。其中一些标志取决于底层窗口管理器是否支持它们。

主要类型包括

常量值描述
Qt::Widget0x00000000这是 `QWidget` 的默认类型。此类小部件若具有父窗口,则为子窗口;若无父窗口,则为独立窗口。另请参阅 `Qt::Window` 和 `Qt::SubWindow`。
Qt::Window0x00000001表示该小部件是一个窗口,通常带有窗口系统边框和标题栏,无论该小部件是否有父窗口。请注意,如果小部件没有父窗口,则无法取消设置此标志。
Qt::Dialog0x00000002 | Window表示该控件是一个应作为对话框进行装饰的窗口(即通常标题栏中没有最大化或最小化按钮)。这是QDialog 的默认类型。若要将其用作模态对话框,应从另一个窗口启动该对话框,或者让其拥有父窗口并配合使用QWidget::windowModality 属性。 若将其设置为模态,该对话框将阻止应用程序中其他顶级窗口接收任何输入。我们把具有父窗口的顶级窗口称为二级窗口。
Qt::Sheet0x00000004 | Window表示该窗口在 macOS 上为片式窗口。由于使用片式窗口意味着窗口具有模态性,因此建议改用QWidget::setWindowModality() 或QDialog::open()。
Qt::DrawerSheet | Dialog表示该控件在 macOS 上是抽屉(drawer)。此功能已弃用。设置该标志不会产生任何效果。
Qt::Popup0x00000008 | Window表示该控件是一个弹出式顶级窗口,即它具有模态特性,但拥有适合弹出菜单的窗口系统边框。
Qt::ToolPopup | Dialog表示该控件是一个工具窗口。工具窗口通常是一个小窗口,其标题栏和装饰条比通常的要小,通常用于放置一组工具按钮。如果存在父窗口,工具窗口将始终保持在其上方。 如果没有父窗口,您还可以考虑同时使用 Qt::WindowStaysOnTopHint。如果窗口系统支持,工具窗口可以采用稍浅色的边框进行装饰。它还可以与 Qt::FramelessWindowHint 结合使用。 在 macOS 上,工具窗口对应于NSPanel类的窗口。这意味着该窗口位于普通窗口之上,因此无法将普通窗口置于其上方。默认情况下,当应用程序处于非活动状态时,工具窗口会消失。可以通过Qt::WA_MacAlwaysShowToolWindow 属性来控制此行为。
Qt::ToolTipPopup | Sheet表示该小部件是工具提示。这在内部用于实现tooltips 。
Qt::SplashScreenToolTip | Dialog表示该窗口是一个启动画面。这是 `QSplashScreen` 的默认类型。
Qt::SubWindow0x00000012表示该控件是一个子窗口,例如QMdiSubWindow 控件。
Qt::ForeignWindow0x00000020 | Window表示该窗口对象是一个句柄,代表由另一个进程或通过手动使用本机代码创建的本机平台窗口。
Qt::CoverWindow0x00000040 | Window表示该窗口为覆盖窗口,在某些平台上,当应用程序被最小化时会显示该窗口。

此外还有一些标志,可用于自定义顶级窗口的外观。这些标志对其他窗口没有影响:

常量值描述
Qt::MSWindowsFixedSizeDialogHint0x00000100在 Windows 系统上为窗口添加细对话框边框。此样式传统上用于固定大小的对话框。

注意: 不建议在多显示器环境中使用 此标志。这是因为系统会强制要求窗口在跨屏幕移动时保持其原始尺寸。当使用分辨率不同的显示器时,这种情况尤其不可取。

Qt::MSWindowsOwnDC0x00000200在 Windows 系统上为窗口提供独立的显示上下文。
Qt::BypassWindowManagerHint0x00000400此标志可用于指示平台插件应禁用“所有”窗口管理器协议。该标志的行为将根据应用程序运行的操作系统以及正在运行的窗口管理器而有所不同。该标志可用于获取一个未进行任何配置的原生窗口。
Qt::X11BypassWindowManagerHintBypassWindowManagerHint完全绕过窗口管理器。这将生成一个完全不受管理的无边框窗口(即,除非手动调用QWidget::activateWindow(),否则不会处理键盘输入)。
Qt::FramelessWindowHint0x00000800生成一个无边框窗口。

在 X11 环境下,该标志的效果取决于窗口管理器及其对 Motif 和/或 NETWM 提示的理解能力。大多数现有的现代窗口管理器都能处理此情况。

注意:如果 窗口管理器依赖边框来交互式地操作窗口,用户将无法再通过窗口系统移动或调整窗口大小,但不应依赖此副作用。若要生成一个无法调整大小的固定尺寸窗口,请将QWindow::setMinimumSize()和QWindow::setMaximumSize()设置为相同尺寸。

常量值描述
Qt::NoDropShadowWindowHint0x40000000在支持该功能的平台上禁用窗口阴影。

CustomizeWindowHint 标志用于启用窗口控件的自定义。必须设置此标志,才能更改WindowTitleHint 、WindowSystemMenuHint 、WindowMinimizeButtonHint 、WindowMaximizeButtonHint 和WindowCloseButtonHint 标志。

常量值描述
Qt::CustomizeWindowHint0x02000000关闭默认的窗口标题提示。
Qt::WindowTitleHint0x00001000为窗口添加标题栏。
Qt::WindowSystemMenuHint0x00002000添加窗口系统菜单,并可能添加一个关闭按钮(例如在 Mac 上)。如果需要隐藏或显示关闭按钮,使用 `WindowCloseButtonHint` 更具可移植性。
Qt::WindowMinimizeButtonHint0x00004000添加一个最小化按钮。在某些平台上,这需要 Qt::WindowSystemMenuHint 才能正常工作。

注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。

Qt::WindowMaximizeButtonHint0x00008000添加一个最大化按钮。在某些平台上,要使其正常工作,需要使用 Qt::WindowSystemMenuHint。

注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。

Qt::WindowMinMaxButtonsHintWindowMinimizeButtonHint | WindowMaximizeButtonHint添加一个最小化按钮和一个最大化按钮。在某些平台上,这需要使用 Qt::WindowSystemMenuHint 才能正常工作。

注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。

Qt::WindowCloseButtonHint0x08000000添加一个关闭按钮。在某些平台上,这需要启用 Qt::WindowSystemMenuHint 才能正常工作。

注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。

Qt::WindowContextHelpButtonHint0x00010000在对话框中添加一个上下文帮助按钮。在某些平台上,这需要使用 Qt::WindowSystemMenuHint 才能正常工作。
Qt::WindowFullscreenButtonHint0x80000000在 macOS 上添加全屏按钮。
Qt::BypassGraphicsProxyWidget0x20000000如果父控件已被嵌入,则防止该窗口及其子窗口自动嵌入到QGraphicsProxyWidget 中。如果您希望控件始终作为桌面上的顶级控件存在(无论父控件是否已嵌入场景),可以设置此标志。
Qt::WindowShadeButtonHint0x00020000如果底层窗口管理器支持,则添加一个“遮罩”按钮来替换最小化按钮。
Qt::WindowStaysOnTopHint0x00040000告知窗口系统该窗口应始终位于所有其他窗口之上。请注意,在某些 X11 窗口管理器上,还必须传递 Qt::X11BypassWindowManagerHint 才能使此标志正常工作。
Qt::WindowStaysOnBottomHint0x04000000告知窗口系统,该窗口应始终位于所有其他窗口的底部。

注意:在 X11环境下 ,此提示仅在支持 _NET_WM_STATE_BELOW 原子的窗口管理器中有效。如果始终位于底层的窗口有父窗口,则父窗口也将保持在底层。目前,此窗口提示在 macOS 上尚未实现。

注意:在 Windows系统上 ,此提示仅对无边框或全屏窗口有效。

Qt::WindowTransparentForInput0x00080000告知窗口系统,该窗口仅用于输出(显示内容),不接受输入。因此,输入事件应像该窗口不存在一样直接穿透。
Qt::WindowOverridesSystemGestures0x00100000告知窗口系统,该窗口实现了自己的手势集,并且应禁用系统级手势(例如三指切换桌面)。
Qt::WindowDoesNotAcceptFocus0x00200000告知窗口系统,该窗口不应接收输入焦点。

注意:在 Windows 系统上,此设置会阻止该窗口出现在任务栏中。

Qt::MaximizeUsingFullscreenGeometryHint0x00400000Qt::ExpandedClientAreaHint 的已弃用别名
Qt::ExpandedClientAreaHint (since Qt 6.9)0x00400000请求将窗口的客户端区域扩展到可能被其他 UI 元素(例如窗口的标题栏控件或其他系统 UI)遮挡或与其发生冲突的区域。窗口的safe area margins 将反映可能存在冲突 UI 元素的任何区域。
Qt::NoTitleBarBackgroundHint (since Qt 6.9)0x00800000请求在不使用背景色的情况下绘制窗口的标题栏。该标志与 Qt::ExpandedClientAreaHint 结合使用时非常有用,可使窗口的客户端区域与标题栏区域及控件无缝融合。
Qt::WindowType_Mask0x000000ff用于提取窗口标志中窗口类型部分的掩码。

WindowFlags 类型是QFlags<WindowType> 的 typedef。它存储 WindowType 值的按“或”运算组合。

另请参阅 QWidget::windowFlags 和窗口标志示例。

[alias, since 6.12] template <typename T, typename U> if_has_qt_compare_three_way

std::enable_if_t 的一个便捷别名,可用于将函数模板限制为支持通过compareThreeWay() 进行三元比较的类型。

该 typedef 于 Qt 6.12 中引入。

另请参阅 Qt::has_qt_compare_three_way 。

函数文档

[since 6.2] void beginPropertyUpdateGroup()

标记属性更新组的开始。在此组内,修改某个属性既不会立即更新任何依赖属性,也不会触发变更通知。这些操作将被推迟,直到通过调用 `endPropertyUpdateGroup` 结束该组为止。

组可以嵌套。在这种情况下,延迟处理仅在最外层组结束之后才终止。

注意: 只有在受该组影响的所有属性值均已更新为新值之后,才会发送变更 通知。这使得在需要更新多个属性时能够重新建立类不变式,从而防止任何外部观察者察觉到不一致的状态。

该函数于 Qt 6.2 中引入。

另请参阅 Qt::endPropertyUpdateGroup 和QScopedPropertyUpdateGroup 。

QTextStream &Qt::bin(QTextStream &stream)

在stream 上调用QTextStream::setIntegerBase(2),并返回stream 。

另请参阅 oct()、dec()、hex() 以及QTextStream manipulators 。

QTextStream &Qt::bom(QTextStream &stream)

当使用QTextStream 并采用UTF编码时,此选项用于控制在stream 中是否插入字节顺序标记(BOM)。

另请参阅 QTextStream::setGenerateByteOrderMark() 和QTextStream manipulators 。

QTextStream &Qt::center(QTextStream &stream)

在stream 上调用QTextStream::setFieldAlignment(QTextStream::AlignCenter),并返回stream 。

另请参阅 left()、right() 和QTextStream manipulators 。

[constexpr noexcept, since 6.7] template <typename Enum> requires if_enum<Enum> Qt::strong_ordering compareThreeWay(Enum lhs, Enum rhs)

实现枚举类型的三元比较。

该函数将Enum 转换为其底层类型,并调用针对整数类型的重载方法。

返回一个Qt::strong_ordering 实例,该实例表示lhs 与rhs 之间的关系。

约束

仅当 `Enum ` 是枚举类型时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename FloatType, typename IntType> requires if_floating_point<FloatType> && if_integral<IntType> auto compareThreeWay(FloatType lhs, IntType rhs)

实现浮点型和整数型的三元比较。

该函数将rhs 转换为FloatType ,并调用浮点类型的重载方法。

返回一个Qt::partial_ordering 实例,该实例表示lhs 与rhs 之间的关系。如果lhs 不是数字(NaN),则返回Qt::partial_ordering::unordered 。

约束

仅当FloatType 是内置浮点类型且IntType 是内置整数类型时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename IntType, typename FloatType> requires if_integral<IntType> && if_floating_point<FloatType> auto compareThreeWay(IntType lhs, FloatType rhs)

实现整数型和浮点型的三元比较。

该函数将lhs 转换为FloatType ,并调用针对浮点类型的重载函数。

返回一个Qt::partial_ordering 的实例,该实例表示lhs 与rhs 之间的关系。如果rhs 不是数值(NaN),则返回Qt::partial_ordering::unordered 。

约束

仅当IntType 是内置整数类型且FloatType 是内置浮点类型时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename LeftFloat, typename RightFloat> requires if_floating_point<LeftFloat> && if_floating_point<RightFloat> auto compareThreeWay(LeftFloat lhs, RightFloat rhs)

实现浮点数类型的三路比较。

若LeftFloat 和RightFloat 是内置浮点类型,则返回lhs <=> rhs 。与operator<=>() 不同,该函数模板在C++17中同样可用。更多详情请参阅cppreference。

当对由内置类型表示的自定义类的成员进行排序时,该函数也可用于自定义的compareThreeWay() 函数中:

class MyClass {
public:
    ...
private:
    double value;
    ...
    friend Qt::partial_ordering
    compareThreeWay(const MyClass &lhs, const MyClass &rhs) noexcept
    { return Qt::compareThreeWay(lhs.value, rhs.value); }
    Q_DECLARE_PARTIALLY_ORDERED(MyClass)
};

返回一个Qt::partial_ordering 实例,该实例表示lhs 与rhs 之间的关系。如果lhs 或rhs 不是数值(NaN),则返回Qt::partial_ordering::unordered 。

约束

仅当LeftFloat 和RightFloat 均为内置浮点类型时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename LeftInt, typename RightInt> requires if_integral<LeftInt> && if_integral<RightInt> auto compareThreeWay(LeftInt lhs, RightInt rhs)

实现整数类型的三路比较。

若LeftInt 和RightInt 均为内置整数类型,则返回lhs <=> rhs 。与operator<=>() 不同,此函数模板在C++17中同样可用。更多详情请参见cppreference。

当对由内置类型表示的自定义类的成员进行排序时,此函数也可用于自定义的compareThreeWay() 函数中:

class MyClass {
public:
    ...
private:
    int value;
    ...
    friend Qt::strong_ordering
    compareThreeWay(const MyClass &lhs, const MyClass &rhs) noexcept
    { return Qt::compareThreeWay(lhs.value, rhs.value); }
    Q_DECLARE_STRONGLY_ORDERED(MyClass)
};

返回一个Qt::strong_ordering 实例,该实例表示lhs 与rhs 之间的关系。

约束

仅当 `LeftInt ` 和 `RightInt ` 均为内置整数类型时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.8] template <typename T, typename U> requires if_compatible_pointers<T, U> Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *> lhs, Qt::totally_ordered_wrapper<U *> rhs)

实现对封装在Qt::totally_ordered_wrapper 中的指针的三方比较。进行比较时,采用指针间的严格全序关系。

返回一个Qt::strong_ordering 的实例,该实例表示lhs 与rhs 之间的关系。

约束

仅当T 和U 属于同一类型,或为基类与派生类时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.8 中引入。

[constexpr noexcept, since 6.8] template <typename T, typename U> requires if_compatible_pointers<T, U> Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *> lhs, U *rhs)

实现对封装在Qt::totally_ordered_wrapper 中的指针与普通指针的三方比较。在进行比较时,采用指针间的严格全序。

返回一个Qt::strong_ordering 实例,该实例表示lhs 与rhs 之间的关系。

约束

仅当 `T ` 和 `U ` 属于同一类型,或为基类与派生类时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.8 中引入。

[constexpr noexcept, since 6.8] template <typename T> Qt::strong_ordering compareThreeWay(Qt::totally_ordered_wrapper<T *> lhs, std::nullptr_t rhs)

实现对包装在Qt::totally_ordered_wrapper 中的指针与std::nullptr_t 之间的三路比较。

返回一个Qt::strong_ordering 实例,该实例表示lhs 与rhs 之间的关系。

这是一个重载函数。

该函数于 Qt 6.8 中引入。

[constexpr noexcept, since 6.8] template <typename T, typename U> requires if_compatible_pointers<T, U> Qt::strong_ordering compareThreeWay(U *lhs, Qt::totally_ordered_wrapper<T *> rhs)

实现普通指针与封装在Qt::totally_ordered_wrapper 中的指针之间的三路比较。在进行比较时,采用指针之间的严格全序。

返回一个Qt::strong_ordering 的实例,该实例表示lhs 与rhs 之间的关系。

约束

仅当 `T ` 和 `U ` 为同一类型,或为基类与派生类时,才参与重载解析。

这是一个重载函数。

该函数在 Qt 6.8 中引入。

[since 6.12] template < typename T1, typename T2, typename U1, typename U2 > auto compareThreeWay(const std::pair<T1, T2> &lhs, const std::pair<U1, U2> &rhs)

注意: T1 应与U1 可比,而T2 应与U2 可比,具体可通过compareThreeWay() 或operator<() 进行验证。

此重载使用auto 作为返回类型,因为排序的强度取决于该对模板参数。例如,如果任一参数是浮点类型,则排序关系为Qt::partial_ordering ;如果两者均为整数类型,则为Qt::strong_ordering 。

这是一个重载函数。

该函数在 Qt 6.12 中引入。

[constexpr noexcept, since 6.8] template <typename T> Qt::strong_ordering compareThreeWay(std::nullptr_t lhs, Qt::totally_ordered_wrapper<T *> rhs)

实现std::nullptr_t 与被包装在Qt::totally_ordered_wrapper 中的指针之间的三元比较。

返回一个Qt::strong_ordering 实例,该实例表示lhs 与rhs 之间的关系。

这是一个重载函数。

该函数首次引入于 Qt 6.8。

QTextStream &Qt::dec(QTextStream &stream)

在stream 上调用QTextStream::setIntegerBase(10),并返回stream 。

另请参阅 bin()、oct()、hex() 以及QTextStream manipulators 。

[since 6.2] void endPropertyUpdateGroup()

结束一个属性更新组。如果最外层的组已被结束,则此时将执行延迟的绑定评估和通知。

警告: 若未先调用beginPropertyUpdateGroup 就调用 endPropertyUpdateGroup,将导致未定义行为。

该函数在 Qt 6.2 中引入。

另请参阅 Qt::beginPropertyUpdateGroup 和QScopedPropertyUpdateGroup 。

QTextStream &Qt::endl(QTextStream &stream)

将“\n ”写入stream ,并刷新流。

等同于

stream << '\n' << Qt::flush;

注意:在 Windows 上,如果通过QIODeviceBase::Text 标志打开QTextStream 的设备或字符串,则所有 '\n' 字符都会被写为 '\r\n '。

另请参阅 flush()、reset() 和QTextStream manipulators 。

QTextStream &Qt::fixed(QTextStream &stream)

在stream 上调用QTextStream::setRealNumberNotation (QTextStream::FixedNotation ),并返回stream 。

另请参阅 scientific() 和QTextStream manipulators 。

QTextStream &Qt::flush(QTextStream &stream)

在stream 上调用QTextStream::flush(),并返回stream 。

另请参见 endl()、reset() 和QTextStream manipulators 。

QTextStream &Qt::forcepoint(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() |QTextStream::ForcePoint),并返回stream 。

另请参阅 noforcepoint()、forcesign()、showbase() 以及QTextStream manipulators 。

QTextStream &Qt::forcesign(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() |QTextStream::ForceSign),并返回stream 。

另请参阅 noforcesign()、forcepoint()、showbase() 以及QTextStream manipulators 。

QTextStream &Qt::hex(QTextStream &stream)

在stream 上调用QTextStream::setIntegerBase(16),并返回stream 。

注意: hex 修饰符仅可用于向流中写入数据。

另请参阅 bin()、oct()、dec() 以及QTextStream manipulators 。

QTextStream &Qt::left(QTextStream &stream)

在stream 上调用QTextStream::setFieldAlignment(QTextStream::AlignLeft),并返回stream 。

另请参阅 right()、center() 和QTextStream manipulators 。

QTextStream &Qt::lowercasebase(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::UppercaseBase),并返回stream 。

另请参阅 uppercasebase()、lowercasedigits() 和QTextStream manipulators 。

QTextStream &Qt::lowercasedigits(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags (QTextStream::numberFlags() & ~QTextStream::UppercaseDigits ),并返回stream 。

另请参阅 uppercasedigits()、lowercasebase() 和QTextStream manipulators 。

QTextStream &Qt::noforcepoint(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ForcePoint),并返回stream 。

另请参见 forcepoint()、noforcesign()、noshowbase() 和QTextStream manipulators 。

QTextStream &Qt::noforcesign(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ForceSign),并返回stream 。

另请参阅 forcesign()、noforcepoint()、noshowbase() 和QTextStream manipulators 。

QTextStream &Qt::noshowbase(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() & ~QTextStream::ShowBase),并返回stream 。

另请参见 showbase()、noforcesign()、noforcepoint() 和QTextStream manipulators 。

QTextStream &Qt::oct(QTextStream &stream)

在stream 上调用QTextStream::setIntegerBase(8),并返回stream 。

另请参阅 bin()、dec()、hex() 以及QTextStream manipulators 。

QTextStream &Qt::reset(QTextStream &stream)

在 `stream ` 上调用 `QTextStream::reset()`,并返回 `stream`。

另请参阅 flush() 和QTextStream manipulators 。

在stream 上调用QTextStream::setFieldAlignment(QTextStream::AlignRight),并返回stream 。

另请参阅 left()、center() 和QTextStream manipulators 。

QTextStream &Qt::scientific(QTextStream &stream)

在stream 上调用QTextStream::setRealNumberNotation (QTextStream::ScientificNotation ),并返回stream 。

另请参阅 fixed() 和QTextStream manipulators 。

QTextStream &Qt::showbase(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() |QTextStream::ShowBase),并返回stream 。

另请参阅 noshowbase()、forcesign()、forcepoint() 和QTextStream manipulators 。

QTextStream &Qt::uppercasebase(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags(QTextStream::numberFlags() |QTextStream::UppercaseBase),并返回stream 。

另请参阅 lowercasebase()、uppercasedigits() 和QTextStream manipulators 。

QTextStream &Qt::uppercasedigits(QTextStream &stream)

在stream 上调用QTextStream::setNumberFlags (QTextStream::numberFlags() |QTextStream::UppercaseDigits ),并返回stream 。

另请参阅 lowercasedigits()、uppercasebase() 和QTextStream manipulators 。

QTextStream &Qt::ws(QTextStream &stream)

在stream 上调用skipWhiteSpace(),并返回stream 。

另请参阅 QTextStream manipulators 。

[constexpr noexcept] QKeyCombination operator|(Qt::Modifier modifier, Qt::Key key)

[constexpr noexcept] QKeyCombination operator|(Qt::KeyboardModifier modifier, Qt::Key key)

[constexpr noexcept] QKeyCombination operator|(Qt::Key key, Qt::Modifier modifier)

[constexpr noexcept] QKeyCombination operator|(Qt::Key key, Qt::KeyboardModifier modifier)

返回一个QKeyCombination 对象,该对象表示key 与修饰符modifier 的组合。

[constexpr noexcept] QKeyCombination operator|(Qt::Modifiers modifiers, Qt::Key key)

[constexpr noexcept] QKeyCombination operator|(Qt::KeyboardModifiers modifiers, Qt::Key key)

[constexpr noexcept] QKeyCombination operator|(Qt::Key key, Qt::Modifiers modifiers)

[constexpr noexcept] QKeyCombination operator|(Qt::Key key, Qt::KeyboardModifiers modifiers)

返回一个QKeyCombination 对象,该对象表示key 与修饰符modifiers 的组合。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.