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.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 }
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
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 NavigationMode { NavigationModeNone, NavigationModeKeypadTabOrder, NavigationModeKeypadDirectional, NavigationModeCursorAuto, NavigationModeCursorForceVisible }
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.2) 函数 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) 自动 compareThreeWay(FloatTypelhs, IntTyperhs)
(since 6.7) 自动 compareThreeWay(IntTypelhs, FloatTyperhs)
(since 6.7) 自动 compareThreeWay(LeftFloatlhs, RightFloatrhs)
(since 6.7) 自动 compareThreeWay(LeftIntlhs, RightIntrhs)
(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.8) Qt::strong_ordering compareThreeWay(std::nullptr_tlhs, Qt::totally_ordered_wrapper<T *>rhs)
QString convertFromPlainText(const QString&plain, Qt::WhiteSpaceModemode)
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&stream)
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::KeyboardModifier modifier)
QKeyCombination operator|(Qt::Keykey, Qt::KeyboardModifiersmodifiers)
QKeyCombination operator|(Qt::,Qt::修改器)
QKeyCombination operator|(Qt::,Qt::修改器)
QKeyCombination operator|(Qt::KeyboardModifier修改器、Qt::Key按鍵)
QKeyCombination operator|(Qt::KeyboardModifiersmodifiers, Qt::Keykey)
QKeyCombination operator|(Qt::修改器修改器, Qt::Keykey)
QKeyCombination operator|(Qt::修改器修改器, Qt::Keykey)

详细描述

命名空间

namespace Qt::Literals

类别

部分排序

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

强排序

Qt::strong_ordering 表示等值无差别的比较结果。更多

totally_ordered_wrapper

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

弱排序

Qt::weak_ordering 表示等价值仍可区分的比较。更多

类型文档

枚举 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如果 widget 的布局方向是Qt::RightToLeft (而不是默认的Qt::LeftToRight ),Qt::AlignLeft 指向边缘,Qt::AlignRight 指向边缘。這通常是所需的行為。如果您希望 Qt::AlignLeft 始終指 "左",而 Qt::AlignRight 始終指 "右",請結合旗標與 Qt::AlignAbsolute。
Qt::AlignLeadingAlignLeft与 Qt::AlignLeft 同义。
Qt::AlignTrailingAlignRightQt::AlignRight 的同义词。

遮罩:

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

相互冲突的标志组合具有未定义的含义。

Alignment 类型是QFlags<AlignmentFlag> 的类型定义。它存储 AlignmentFlag 值的 OR 组合。

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 布局使用 的内置尺寸策略。例如,设置此值时, 填满可用宽度,但高度固定。如果未设置该值,它将使用其所在布局的默认尺寸行为,即使用其隐含尺寸作为首选尺寸。详细说明请参阅Item Button 指定首选尺寸尺寸约束。设置此属性后,可通过显式设置 或 来覆盖布局项的默认大小策略。Layout.fillWidth Layout.fillHeight
Qt::AA_DontShowIconsInMenus2除非通过QAction::iconVisibleInMenu 属性特别设置,否则任何菜单中都不会显示带有 Icon 属性的操作。该属性的默认值取决于平台。要覆盖默认行为,请在QGuiApplication 实例化后设置该属性。当前打开的菜单或已在本地 macOS 菜单栏中创建的菜单可能无法捕获此属性的更改。QAction::iconVisibleInMenu 属性中的更改将始终被捕获。
Qt::AA_DontShowShortcutsInContextMenus28带有快捷属性的操作不会显示在任何快捷菜单中,除非由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苹果平台上的键盘快捷方式通常基于 Command(或 Cmd)键盘修饰符,用 ⌘ 符号表示。例如,"复制 "操作就是 Command+C (⌘+C)。为便于跨平台开发,Qt 默认将 Command 重映射为Qt::ControlModifier ,以便与其他平台保持一致。这允许创建键盘快捷键,如 "Ctrl+J",在 macOS 上将映射为 Command+J,符合 macOS 用户的预期。在 Apple 平台上,实际的 Control(或 Ctrl)修改器由 ⌃ 表示,映射到Qt::MetaModifier

当此属性为真时,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.dlllibGL.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启用QOpenGLWidgetQQuickWidget 等类使用的 OpenGL 上下文之间的资源共享。这允许在属于不同顶层窗口的QOpenGLWidget 实例之间共享纹理等 OpenGL 资源。必须在构建QGuiApplication 之前设置该属性。此值在 Qt 5.4 中添加。
Qt::AA_SetPalette19表示是否在QGuiApplication 上显式设置了调色板。此值在 Qt 5.5 中添加。
Qt::AA_UseStyleSheetPropagationInWidgetStyles22默认情况下,Qt Style Sheets 禁用常规的QWidget 调色板和字体传播。启用此标志后,样式表中的字体和调色板更改将在设置样式表时一次性传播。详情请参阅样式表语法 - 继承。此值在 Qt 5.7 中添加。
Qt::AA_DontUseNativeDialogs23当此属性设置为 true 时创建的所有对话框都不会使用平台提供的本地对话框。此值在 Qt 5.7 中添加。
Qt::AA_SynthesizeMouseForUnhandledTabletEvents24应用程序不接受的所有平板电脑事件都将转换为鼠标事件。此属性默认为启用。此值在 Qt 5.7 中添加。
Qt::AA_CompressHighFrequencyEvents25启用压缩某些频繁事件。在 X11 窗口系统中,默认值为 true,这意味着只要QEvent::MouseMoveQEvent::TouchUpdate 以及窗口大小和位置的变化比应用程序处理它们的频率高,这些事件就会被合并起来,这样就不会累积起来,使应用程序不堪重负。在 Windows 8 及以上版本中,默认值也是 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禁用磁盘上着色器程序二进制文件的缓存。默认情况下,在支持glProgramBinary() 的系统上,Qt QuickQPainter 的 OpenGL 后端以及任何使用QOpenGLShaderProgram 及其addCacheableShaderFromSource重载之一的应用程序都将在共享或每个进程缓存存储位置使用基于磁盘的程序二进制缓存。万一出现问题,可通过设置此属性禁用所有基于磁盘的着色器缓存。
Qt::AA_DisableSessionManager31禁用QSessionManager 。默认情况下,Qt 将在支持的平台上为 GUI 应用程序连接到正在运行的会话管理器,使用会话管理器可能会对系统服务造成冗余。必须在构建QGuiApplication 之前设置该属性。此值在 5.14 中添加
Qt::AA_DisableNativeVirtualKeyboard9设置此属性后,在没有物理键盘的系统上,当文本输入 widget 获得焦点时,将不会自动显示本机屏幕虚拟键盘。目前仅支持 Windows 平台。此值在 5.15 中添加
Qt::AA_DontUseNativeMenuWindows10在此属性设置为 true 时创建的菜单弹出窗口(如上下文菜单、组合框菜单和非本地菜单栏菜单)将不表示为本地顶层窗口,除非实现要求这样做。此值在 Qt 6.8 中添加。

枚举 Qt::ApplicationState
flags Qt::ApplicationStates

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

状态包括

常量描述
Qt::ApplicationSuspended0x00000000应用程序即将挂起。进入该状态时,应用程序应保存其状态,停止所有活动,并做好停止执行代码的准备。在挂起状态下,应用程序可以随时被杀死,而不会发出进一步警告(例如,当内存不足时,操作系统会强制清除挂起的应用程序)。
Qt::ApplicationHidden0x00000001应用程序被隐藏并在后台运行。对于需要在用户与其他应用程序交互时进行后台处理(如播放音乐)的应用程序来说,这是正常状态。进入这种状态时,应用程序应释放所有图形资源。
Qt::ApplicationInactive0x00000002应用程序可见,但未被选中在前。在桌面平台上,这通常意味着用户激活了另一个应用程序。在移动平台上,当操作系统通过来电或短信等方式打扰用户时,进入这种状态更为常见。在这种状态下,应考虑减少 CPU 密集型任务。
Qt::ApplicationActive0x00000004应用程序是可见的,并被选在最前面。

ApplicationStates 类型是QFlags<ApplicationState> 的类型定义。它存储 ApplicationState 值的 OR 组合。

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这是一个可以与上述任何一种连接类型结合使用的标志,使用的方法是位相 OR。当设置 Qt XML::UniqueConnection 时,如果连接已存在(即同一信号已连接到同一对象对的同一插槽),QObject::connect() 将失败。
Qt::SingleShotConnection0x100这是一个可以与上述任何一种连接类型结合使用的标志,使用的是位相 OR。当设置 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

该枚举类型定义了 widget 在显示上下文菜单时可采用的各种策略。

常量说明
Qt::NoContextMenu0该 widget 没有上下文菜单,上下文菜单的处理将延迟到 widget 的父级。
Qt::PreventContextMenu4该 widget显示上下文菜单,与NoContextMenu 不同的是,上下文菜单的处理不会延迟到 widget 的父级。这意味着所有鼠标右键事件都将通过QWidget::mousePressEvent() 和QWidget::mouseReleaseEvent() 发送到 widget 本身。
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

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 圆点或 ibeam 光标,表示窗口小部件可以接受并显示文本输入。
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 的早期版本以及未来计划的格式更改兼容。特别是,zone-offset 后缀目前使用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.zzzHH.zzz ,应用于最后出现的字段(小时或分钟)。
Qt::ISODate1ISO 8601扩展格式,与ISODateWithMs 一样,但在转换为字符串时省略毫秒 (.zzz) 部分。从字符串读取时没有区别:如果最后一个时间字段有小数部分,两种格式都可以接受。
Qt::RFC2822Date8RFC 2822RFC 850RFC 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] ,其中tzoffHHmm 格式的时区偏移。文本前后可以出现任意间距,任何非空间距都可以取代此格式中的空格。对于日期和时间,将分别匹配相同的格式,忽略不需要的部分。特别要注意的是,没有日期的时间是无法识别的。

注意: 对于ISODate 格式,每个y,Md 代表用于指定日期的年、月、日的一位数字。每个H,m, 和s 表示一个小时(最多 24 小时)、分钟和秒的个位数,用于指定时间。小时为 24,所有其他时间字段为 0,表示第二天开始。.zzz 代表前一个字段的小数部分后缀,可以用逗号',' 或所示的点'.' 与该字段分隔。超过毫秒的精确度可以接受,但会舍弃,四舍五入到最接近的可表示毫秒。在指定日期和时间时,使用T 字符分隔日期和时间。对于TextDateRFC2822Date 格式,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

枚举 Qt::DockWidgetArea
flags Qt::DockWidgetAreas

代表QDockWidget 可以插入的区域。

注意: 带有标签页的浮动 dock widget 可以停靠在任何位置。

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

DockWidgetAreas 类型是QFlags<DockWidgetArea> 的类型定义。它存储了 DockWidgetArea 值的 OR 组合。

另请参阅 QDockWidget::setAllowedAreasQDockWidget::isAreaAllowed

枚举 Qt::DropAction
flags Qt::DropActions

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

DropActions 类型是QFlags<DropAction> 的类型定义。它存储 DropAction 值的 OR 组合。

枚举 Qt::Edge
flags Qt::Edges

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

常量描述
Qt::TopEdge0x00001矩形的上边缘。
Qt::LeftEdge0x00002矩形的左边缘
Qt::RightEdge0x00004矩形的右边缘。
Qt::BottomEdge0x00008矩形的下边缘

Edges 类型是QFlags<Edge> 的类型定义。它存储边缘值的 OR 组合。

enum Qt::EnterKeyType

可用于更改屏幕键盘上 Return 键的外观。

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

常量说明
Qt::EnterKeyDefault0默认回车键。可以是关闭键盘的按钮,也可以是在多行输入框中用来换行的回车键。
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_MAXINT_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指定使用非零缠绕规则填充区域。使用此规则,我们可以通过以下方法确定点是否在形状内部。从点到形状外部的位置画一条水平线。确定每个交叉点的直线方向是向上还是向下。通过对每个交点的方向求和来确定缠绕数。如果数字不为零,则表示该点位于形状内部。这种填充模式在大多数情况下也可视为封闭形状的交点。

枚举 Qt::FindChildOption
标志 Qt::FindChildOptions

常量描述
Qt::FindDirectChildrenOnly0x0只查看对象的直接子对象。
Qt::FindChildrenRecursively0x1查看对象的所有子对象(递归搜索)。

FindChildOptions 类型是QFlags<FindChildOption> 的类型定义。它存储 FindChildOption 值的 OR 组合。

enum Qt::FocusPolicy

此枚举类型定义了部件在获取键盘焦点时的各种策略。

常量说明
Qt::TabFocus0x1该 widget 通过制表接受焦点。
Qt::ClickFocus0x2通过点击获取焦点。
Qt::StrongFocusTabFocus | ClickFocus | 0x8窗口部件通过制表和点击都接受焦点。在 macOS 上,当处于 "文本/列表焦点模式 "时,该值还会表示 widget 接受制表符焦点。
Qt::WheelFocusStrongFocus | 0x4与 Qt::StrongFocus 类似,该 widget 通过使用鼠标滚轮接受焦点。
Qt::NoFocus0该部件不接受焦点。

enum Qt::FocusReason

该枚举指定焦点改变的原因。它将通过QWidget::setFocus 传递,并可在焦点改变时从发送给 widget 的QFocusEvent 中获取。

常量说明
Qt::MouseFocusReason0发生了鼠标操作。
Qt::TabFocusReason1按下了 Tab 键。
Qt::BacktabFocusReason2发生了一次 Backtab。输入可能包括 Shift 或 Control 键,例如 Shift+Tab。
Qt::ActiveWindowFocusReason3窗口系统使该窗口处于活动或非活动状态。
Qt::PopupFocusReason4应用程序打开/关闭了一个弹出窗口,该窗口抓住/释放了键盘焦点。
Qt::ShortcutFocusReason5用户键入标签的好友快捷键
Qt::MenuBarFocusReason6菜单栏占用焦点。
Qt::OtherFocusReason7其他原因,通常与特定应用程序有关。

另请参阅 小工具中的键盘焦点

枚举 Qt::GestureFlag
flags Qt::GestureFlags

此枚举类型描述了订阅手势时可使用的附加标志。

常量描述
Qt::DontStartGestureOnChildren0x01默认情况下,手势可以从部件或其任何子部件开始。使用此标志可禁用此功能,手势只能在部件上启动。
Qt::ReceivePartialGestures0x02允许任何被忽略的手势事件传播到指定了此提示的父部件。默认情况下,只有处于Qt::GestureStarted 状态的手势才会被传播,并且 widget 始终会获得完整的手势序列,从Qt::GestureStarted 状态的手势开始,到Qt::GestureFinishedQt::GestureCanceled 状态的手势结束。
Qt::IgnoredGesturesPropagateToParent (since Qt 4.7)0x04允许对手势事件传播进行微调。通过在grabbing 手势时设置该标志,所有被忽略的部分手势将传播到其父项。

GestureFlags 类型是QFlags<GestureFlag> 的类型定义。它存储手势标志值的 OR 组合。

另请参阅 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() 函数注册,该函数会生成一个自定义手势 ID,并设置 Qt XML::CustomGesture 标志。

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

enum Qt::GlobalColor

Qt XML 预定义的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::Round10.5 及以上取整。
Qt::HighDpiScaleFactorRoundingPolicy::Ceil2始终向上舍入。
Qt::HighDpiScaleFactorRoundingPolicy::Floor3始终向下舍入。
Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor40.75 及以上四舍五入。
Qt::HighDpiScaleFactorRoundingPolicy::PassThrough5不四舍五入。

另请参见 QGuiApplication::setHighDpiScaleFactorRoundingPolicy()。

enum Qt::HitTestAccuracy

该枚举包含QTextDocument 类在测试文本文档上的鼠标点击时可使用的准确度类型。

常量说明
Qt::ExactHit0输入发生点必须与文档的输入敏感部位完全重合。
Qt::FuzzyHit1输入发生点可以靠近文档中对输入敏感的部分。

枚举 Qt::ImageConversionFlag
flags Qt::ImageConversionFlags

如果没有包含列表中的其他值,标记为"(默认)"的选项将被设置(因为默认值为零):

颜色/单色偏好(对于QBitmap 会忽略):

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

抖动模式首选项:

常量说明
Qt::DiffuseDither0x00000000(默认)- 使用误差扩散进行高质量抖动。
Qt::OrderedDither0x00000010更快的有序抖动。
Qt::ThresholdDither0x00000020无抖动;使用最接近的颜色。

1 位 alpha 遮罩的首选抖动模式:

常量说明
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> 的类型定义。它存储 ImageConversionFlag 值的 OR 组合。

enum Qt::InputMethodHint
flags Qt::InputMethodHints

常量说明
Qt::ImhNone0x0无提示。

改变行为的标志:

常量说明
Qt::ImhHiddenText0x1输入法不应在输入时显示字符。将QLineEdit::echoMode 设置为Password 时会自动设置该值。请注意,设置ImhHiddenText 不会改变回声模式。
Qt::ImhSensitiveData0x2输入的文本不应被活动输入法存储在任何持久存储中,如预测用户字典。
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::ImhDigitsOnly0x10000只允许输入数字。
Qt::ImhFormattedNumbersOnly0x20000只允许输入数字。包括小数点和减号。
Qt::ImhUppercaseOnly0x40000只允许输入大写字母。
Qt::ImhLowercaseOnly0x80000只允许输入小写字母。
Qt::ImhDialableCharactersOnly0x100000只允许输入适合电话拨号的字符。
Qt::ImhEmailCharactersOnly0x200000只允许输入适合电子邮件地址的字符。
Qt::ImhUrlCharactersOnly0x400000只允许输入适合 URL 的字符。
Qt::ImhLatinOnly0x800000只允许拉丁字母输入。

掩码

常量说明
Qt::ImhExclusiveInputMask0xffff0000如果使用了任何一个排他性标志,则此掩码的结果为非零。

注意: 如果多个排他性标志被 OR 在一起,生成的字符集将由指定字符集的联合组成。例如,指定ImhNumbersOnlyImhUppercaseOnly 将产生一个由数字和大写字母组成的字符集。

InputMethodHints 类型是QFlags<InputMethodHint> 的类型定义。它存储 InputMethodHint 值的 OR 组合。

另请参阅 QGraphicsItem::inputMethodHints().

enum Qt::InputMethodQuery
flags Qt::InputMethodQueries

常量描述
Qt::ImEnabled0x1该 widget 接受输入法输入。
Qt::ImCursorRectangle0x2在 widget 坐标中覆盖输入光标区域的矩形。
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光标前的纯文本。Widget 可以决定返回多少文本,但除非光标位于文档的起始位置,否则不得返回空字符串。
Qt::ImTextAfterCursor0x1000光标后的纯文本。Widget 可以决定返回多少文本,但不能返回空字符串,除非光标位于文档的末尾。
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> 的类型定义。它存储 InputMethodQuery 值的 OR 组合。

另请参阅 QInputMethodQueryEvent

enum Qt::ItemDataRole

模型中的每个项目都有一组与之关联的数据元素,每个元素都有自己的角色。视图使用角色来向模型指示它需要哪种类型的数据。自定义模型应返回这些类型的数据。

通用角色(及相关类型)包括

常量描述
Qt::DisplayRole0以文本形式呈现的关键数据。(QString)
Qt::DecorationRole1以图标形式显示的装饰数据。(QColor,QIconQPixmap)
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第一个可用于应用程序特定目的的角色。

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

枚举 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 中添加。

请注意,可选中项需要同时给出一组合适的标志和一个初始状态,以指示该项目是否被选中。对于模型/视图组件,这将自动处理,但对于QListWidgetItemQTableWidgetItemQTreeWidgetItem 的实例,则需要显式设置。

请注意,如果一个索引设置了 Qt XML::ItemNeverHasChildren 标志,那么重新实现QAbstractItemModel::hasChildren 并返回 true 将是未定义的行为。

ItemFlags 类型是QFlags<ItemFlag> 的类型定义。它存储 ItemFlag 值的 OR 组合。

另请参阅 QAbstractItemModel

enum Qt::ItemSelectionMode

该枚举在QGraphicsItemQGraphicsSceneQGraphicsView 中使用,用于指定如何选择项目,或如何确定形状和项目是否发生碰撞。

常数说明
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在选定的苹果键盘型号上对应于清除键。在其他系统上,当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_micro已废弃的 Key_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_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().

枚举 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> 的类型定义。它存储了 KeyboardModifier 值的 OR 组合。

另请参见 MouseButtonModifier

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创建一个蒙版,其中所有与给定颜色匹配的像素都是透明的。

枚举 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> 的类型定义。它存储 MatchFlag 值的 OR 组合。

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

枚举 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> 的类型定义。它存储修改器值的 OR 组合。

另请参阅 KeyboardModifierMouseButton

枚举 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第七个非滚轮鼠标按钮。
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> 的类型定义。它存储 MouseButton 值的 OR 组合。

另请参阅 KeyboardModifierModifier

枚举 Qt::MouseEventFlag
flags Qt::MouseEventFlags

该枚举提供了有关QMouseEvent 的附加信息。

常量说明
Qt::MouseEventCreatedDoubleClick0x01表示 Qt 已从该事件创建了一个MouseButtonDblClick 事件。该标志在引起的MouseButtonPress 中设置,而不是在产生的MouseButtonDblClick 中设置。

MouseEventFlags 类型是QFlags<MouseEventFlag> 的类型定义。它存储 MouseEventFlag 值的 OR 组合。

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以度为单位指定旋转 delta。
Qt::SwipeNativeGesture6在轻扫移动后发送。

该枚举类型描述了移动对焦的模式。

常量说明
Qt::NavigationModeNone0仅使用触摸屏。
Qt::NavigationModeKeypadTabOrder1Qt::Key_Up 和 用于改变焦距。Qt::Key_Down
Qt::NavigationModeKeypadDirectional2Qt::Key_Up,Qt::Key_Down,Qt::Key_LeftQt::Key_Right 用于更改焦点。
Qt::NavigationModeCursorAuto3鼠标光标用于更改焦点,仅在非触摸屏设备上显示。键盘用于执行虚拟光标,除非设备具有模拟鼠标类型的输入设备(如触摸板)。对于需要在触摸和非触摸设备上控制指针的应用程序(如网络浏览器),建议使用这种设置。
Qt::NavigationModeCursorForceVisible4鼠标光标用于更改焦点,无论设备类型如何,它都会显示。键盘用于实现虚拟光标,除非设备具有模拟鼠标类型的输入设备(如触摸板)。

注: 光标导航目前未在任何平台上实现,其行为与 NavigationModeNone 相同。

另请参阅 QApplication::setNavigationMode() 和QApplication::navigationMode()。

枚举 Qt::Orientation
flags Qt::Orientations

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

常量
Qt::Horizontal0x1
Qt::Vertical0x2

例如,Orientation 用于QScrollBar

Orientations 类型是QFlags<Orientation> 的类型定义。它存储方向值的 OR 组合。

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::SvgMiterJoin0x100SVG 1.2 Tiny规范中的斜接合定义相对应的斜接合。

另请参阅 QPen

enum Qt::PenStyle

该枚举类型定义了可使用QPainter 绘制的钢笔样式。这些样式是

Qt::SolidLineQt::DashLineQt::DotLine
Qt::DashDotLineQt::DashDotDotLineQt::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() 。

枚举 Qt::ScreenOrientation
flags Qt::ScreenOrientations

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

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

ScreenOrientations 类型是QFlags<ScreenOrientation> 的类型定义。它存储 ScreenOrientation 值的 OR 组合。

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

该枚举描述 widget 中项目的排序方式。

常数说明
Qt::AscendingOrder0项目按升序排序,例如,在 Latin-1 语言中,以 "AAA "开头,以 "ZZZ "结尾。
Qt::DescendingOrder1项目降序排序,例如,在 Latin-1 本地语言中,以 "ZZZ "开头,以 "AAA "结尾。

枚举 Qt::SplitBehaviorFlags
flags Qt::SplitBehavior

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

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

SplitBehavior 类型是QFlags<SplitBehaviorFlags> 的类型定义。它存储 SplitBehaviorFlags 值的 OR 组合。

另请参见 QString::split().

enum Qt::TabFocusBehavior

该枚举类型为标签导航提供了不同的聚焦行为。

常量说明
Qt::NoTabFocus0x00不遍历任何内容。
Qt::TabFocusTextControls0x01遍历文本控件和部件。
Qt::TabFocusListControls0x02遍历列表控件和部件
Qt::TabFocusAllControls0xff遍历所有控件和部件

enum Qt::TextElideMode

该枚举用于指定在显示不合适的文本时,省略号应出现在何处:

常量说明
Qt::ElideLeft0省略号应出现在文本开头。
Qt::ElideRight1省略号应出现在文本末尾。
Qt::ElideMiddle2省略号应出现在文本中间。
Qt::ElideNone3文本中不应出现省略号。当传递给QFontMetrics::elidedText() 等函数时,除非文本包含多长变体,否则将返回完整字符串。在这种情况下,必须根据组件宽度进行裁剪。

Qt::ElideMiddle 通常是 URL(如"http://bugreports.qt.../QTWEBSITE-13/")的最佳选择,而 Qt::ElideRight 则适用于其他字符串(如 "Deploying Applications on 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

该枚举用于既能显示纯文本又能显示富文本的 widget,例如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

此枚举指定文本显示 widget 如何对用户输入做出反应。

常量说明
Qt::NoTextInteraction0无法与文本交互。
Qt::TextSelectableByMouse1可以用鼠标选择文本,并使用上下文菜单或标准键盘快捷键将文本复制到剪贴板。
Qt::TextSelectableByKeyboard2可以使用键盘上的光标键选择文本。文本光标会显示出来。
Qt::LinksAccessibleByMouse4可以用鼠标高亮显示并激活链接。
Qt::LinksAccessibleByKeyboard8可以使用制表符聚焦链接,使用回车键激活链接。
Qt::TextEditable16文本完全可编辑。
Qt::TextEditorInteractionTextSelectableByMouse | TextSelectableByKeyboard | TextEditable默认为文本编辑器。
Qt::TextBrowserInteractionTextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboardQTextBrowser 的默认设置。

TextInteractionFlags 类型是QFlags<TextInteractionFlag> 的类型定义。它存储 TextInteractionFlag 值的 OR 组合。

enum Qt::TileRule

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

常数描述
Qt::StretchTile0缩放图像以适应可用区域。
Qt::RepeatTile1重复图像,直到没有更多空间。可能会裁剪最后一幅图像。
Qt::RoundTile2与 "重复 "类似,但会缩小图像,以确保不裁剪最后一张磁贴。

enum Qt::TimeSpec

常数说明
Qt::LocalTime0当地时间,由系统时区设置控制。
Qt::UTC1协调世界时。
Qt::OffsetFromUTC2与协调世界时的偏移量,以秒为单位。
Qt::TimeZone3已命名的时区。

LocalTime 和 TimeZone 都会处理过渡时间,例如夏令时的开始和结束。协调世界时是标准时间,时区通常是相对于它指定的:格林威治标准时间的偏移量为零。无论是 UTC 还是 OffsetFromUTC,都没有任何转换。

使用 OffsetFromUTC 指定日期时间时,还必须提供与 UTC 的偏移量(以秒为单位)。要使用 TimeZone 指定日期时间,必须提供QTimeZone 。从 Qt 6.5 开始,QTimeZone 现在可以打包一个 timespec,并在需要时将偏移量作为轻量级时间描述,因此现在传递QTimeZone 提供了使用日期时间 API 的统一方式,省去了针对不同 timespec 以不同方式调用的麻烦。

注意: 在系统时区设置发生变化后,变化前创建的基于 LocalTime 的QDateTime 对象的行为是未定义的:QDateTime 可能有缓存数据,而变化会使其失效。(在长期运行的进程,系统时区数据的更新(例如,当政治家更改某个时区的规则时)同样可能导致更新后的时区信息与更新前创建的使用 LocalTime 或 TimeZone 的QDateTime 对象所缓存的数据发生冲突。

另请参阅 QTimeZoneQDateTime

[since 6.8] enum class TimerId

用于表示计时器 ID(例如QTimerQChronoTimer )。底层类型是int 。您可以使用qToUnderlying() 将 Qt XML::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::PreciseTimer 将使用 Windows 的多媒体定时器设施(如果可用),Qt::CoarseTimer 和 Qt::VeryCoarseTimer 将使用普通的 Windows 定时器。

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

枚举 Qt::ToolBarArea
标志 Qt::ToolBarAreas

常量
Qt::LeftToolBarArea0x1
Qt::RightToolBarArea0x2
Qt::TopToolBarArea0x4
Qt::BottomToolBarArea0x8
Qt::AllToolBarAreasToolBarArea_Mask
Qt::NoToolBarArea0

ToolBarAreas 类型是QFlags<ToolBarArea> 的类型定义。它存储 ToolBarArea 值的 OR 组合。

enum Qt::ToolButtonStyle

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

常数说明
Qt::ToolButtonIconOnly0只显示图标。
Qt::ToolButtonTextOnly1只显示文本。
Qt::ToolButtonTextBesideIcon2文本显示在图标旁边。
Qt::ToolButtonTextUnderIcon3文本显示在图标下方。
Qt::ToolButtonFollowStyle4遵循style

枚举 Qt::TouchPointState
flags Qt::TouchPointStates

此枚举表示QTouchEvent 发生时触摸点的状态。

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

TouchPointStates 类型是QFlags<TouchPointState> 的类型定义。它存储 TouchPointState 值的 OR 组合。

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

枚举 Qt::WindowState
flags Qt::WindowStates

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

状态包括

常量说明
Qt::WindowNoState0x00000000窗口未设置任何状态(正常状态)。
Qt::WindowMinimized0x00000001窗口最小化(即图标化)。
Qt::WindowMaximized0x00000002窗口最大化,周围有边框。
Qt::WindowFullScreen0x00000004窗口占满整个屏幕,周围没有任何边框。
Qt::WindowActive0x00000008窗口为活动窗口,即有键盘焦点。

WindowStates 类型是QFlags<WindowState> 的类型定义。它存储 WindowState 值的 OR 组合。

枚举 Qt::WindowType
flags Qt::WindowFlags

该枚举类型用于指定 widget 的各种窗口系统属性。它们相当不寻常,但在少数情况下是必要的。其中一些标志取决于底层窗口管理器是否支持它们。

主要类型有

常量说明
Qt::Widget0x00000000这是QWidget 的默认类型。此类型的部件如果有父部件则为子部件,如果没有父部件则为独立窗口。另请参阅 Qt::Window 和 Qt::SubWindow。
Qt::Window0x00000001表示该 widget 是一个窗口,通常带有窗口系统框架和标题栏,与该 widget 是否有父窗口无关。请注意,如果 widget 没有父对象,则无法取消设置该标志。
Qt::Dialog0x00000002 | Window表示窗口部件是一个应装饰为对话框的窗口(即标题栏中通常没有最大化或最小化按钮)。这是QDialog 的默认类型。如果要将其用作模式对话框,则应从另一个窗口启动,或者有一个父窗口,并与QWidget::windowModality 属性一起使用。如果将其设置为模式对话框,该对话框将阻止应用程序中的其他顶层窗口获得任何输入。我们将有父窗口的顶层窗口称为辅助窗口。
Qt::Sheet0x00000004 | Window表示该窗口是 macOS 上的工作表。由于使用工作表意味着窗口模式,建议使用QWidget::setWindowModality() 或QDialog::open() 代替。
Qt::DrawerSheet | Dialog表示该窗口小部件在 macOS 上是一个抽屉。该功能已过时。设置该标志没有任何作用。
Qt::Popup0x00000008 | Window表示该 widget 是一个弹出式顶层窗口,即它是模式窗口,但有一个适合弹出式菜单的窗口系统框架。
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,WindowMaximizeButtonHintWindowCloseButtonHint 标志。

常量说明
Qt::CustomizeWindowHint0x02000000关闭默认窗口标题提示。
Qt::WindowTitleHint0x00001000为窗口添加标题栏。
Qt::WindowSystemMenuHint0x00002000添加窗口系统菜单,并可能添加关闭按钮(例如在 Mac 上)。如果需要隐藏或显示关闭按钮,使用WindowCloseButtonHint 更方便。
Qt::WindowMinimizeButtonHint0x00004000添加最小化按钮。在某些平台上,这需要 Qt::WindowSystemMenuHint 才能起作用。
Qt::WindowMaximizeButtonHint0x00008000添加最大化按钮。在某些平台上,它需要 Qt::WindowSystemMenuHint 才能工作。
Qt::WindowMinMaxButtonsHintWindowMinimizeButtonHint | WindowMaximizeButtonHint添加最小化和最大化按钮。在某些平台上,这需要 Qt::WindowSystemMenuHint 才能实现。
Qt::WindowCloseButtonHint0x08000000添加关闭按钮。在某些平台上,这意味着要使用 Qt::WindowSystemMenuHint。
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通知窗口系统此窗口不应接收输入焦点。
Qt::MaximizeUsingFullscreenGeometryHint0x00400000Qt::ExpandedClientAreaaHint 的已废弃别名
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> 的类型定义。它存储 WindowType 值的 OR 组合。

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

函数文档

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

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

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

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

返回QKeyCombination 对象,表示key 与修改器modifier 的组合。

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

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

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

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

返回一个QKeyCombination 对象,表示key 与修改器modifiers 的组合。

[since 6.2] void beginPropertyUpdateGroup()

标志着一个属性更新组的开始。在该组中,更改一个属性既不会立即更新任何从属属性,也不会触发更改通知。更改通知将被延迟,直到调用endPropertyUpdateGroup 结束该组。

组可以嵌套。在这种情况下,只有在最外层组结束后,延迟才会结束。

注意: 只有在受组影响的所有属性值都更新为新值后,才会发送更改通知。这样,如果需要更新多个属性,就可以重新建立类的不变性,防止任何外部观察者注意到不一致的状态。

此函数在 Qt 6.2 中引入。

另请参阅 Qt::endPropertyUpdateGroupQScopedPropertyUpdateGroup

QTextStream &Qt::bin(QTextStream &stream)

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

另请参阅 oct(),dec(),hex() 和QTextStream manipulators

QTextStream &Qt::bom(QTextStream &stream)

QTextStream 与 UTF 编码一起使用时,在stream 上切换插入字节序号标记。

另请参阅 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, Qt::if_enum<Enum> = true> Qt::strong_ordering compareThreeWay(Enum lhs, Enum rhs)

这是一个重载函数。

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

该函数将Enum 转换为其底层类型,并调用重载函数来处理积分类型。

返回Qt::strong_ordering 的一个实例,表示lhsrhs 之间的关系。

限制条件

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

此函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename FloatType, typename IntType, Qt::if_floating_point<FloatType> = true, Qt::if_integral<IntType> = true> auto compareThreeWay(FloatType lhs, IntType rhs)

这是一个重载函数。

实现浮点和积分类型的三向比较。

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

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

限制条件

只有当FloatType 是内置浮点类型且IntType 是内置积分类型时,才参与重载解析。

此函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename IntType, typename FloatType, Qt::if_integral<IntType> = true, Qt::if_floating_point<FloatType> = true> auto compareThreeWay(IntType lhs, FloatType rhs)

这是一个重载函数。

实现积分和浮点类型的三向比较。

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

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

限制条件

只有当IntType 是内置积分类型且FloatType 是内置浮点类型时,才参与重载解析。

此函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename LeftFloat, typename RightFloat, Qt::if_floating_point<LeftFloat> = true, Qt::if_floating_point<RightFloat> = true> auto compareThreeWay(LeftFloat lhs, RightFloat rhs)

这是一个重载函数。

实现浮点类型的三向比较。

如果LeftFloatRightFloat 是内置浮点类型,则返回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 的一个实例,表示lhsrhs 之间的关系。如果lhsrhs 不是数字(NaN),则返回Qt::partial_ordering::unordered

限制条件

只有当LeftFloatRightFloat 都是内置浮点类型时,才参与重载解析。

此函数在 Qt 6.7 中引入。

[constexpr noexcept, since 6.7] template <typename LeftInt, typename RightInt, Qt::if_integral<LeftInt> = true, Qt::if_integral<RightInt> = true> auto compareThreeWay(LeftInt lhs, RightInt rhs)

这是一个重载函数。

实现积分类型的三向比较。

如果LeftIntRightInt 是内置积分类型,则返回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 的一个实例,表示lhsrhs 之间的关系。

限制条件

只有当LeftIntRightInt 都是内置积分类型时,才参与重载解析。

此函数在 Qt 6.7 中引入。

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

这是一个重载函数。

实现对封装为Qt::totally_ordered_wrapper 的指针进行三向比较。比较时使用严格的指针总顺序

返回Qt::strong_ordering 的一个实例,表示lhsrhs 之间的关系。

限制条件

只有当TU 是同一类型,或基础类型和派生类型相同时,才参与重载解析。

此函数在 Qt 6.8 中引入。

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

这是一个重载函数。

实现将指针包装成Qt::totally_ordered_wrapper 与普通指针进行三向比较。比较时使用严格的指针总顺序

返回Qt::strong_ordering 的一个实例,表示lhsrhs 之间的关系。

限制条件

只有当TU 是同一类型,或基础类型和派生类型相同时,才参与重载解析。

此函数在 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 的一个实例,表示lhsrhs 之间的关系。

此函数在 Qt 6.8 中引入。

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

这是一个重载函数。

实现普通指针与封装为Qt::totally_ordered_wrapper 的指针的三向比较。比较时使用严格的指针总顺序

返回Qt::strong_ordering 的一个实例,表示lhsrhs 之间的关系。

限制条件

只有当TU 是同一类型,或基础类型和派生类型相同时,才参与重载解析。

此函数在 Qt 6.8 中引入。

[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 的一个实例,表示lhsrhs 之间的关系。

此函数在 Qt 6.8 中引入。

QTextStream &Qt::dec(QTextStream &stream)

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

另请参阅 bin(),oct(),hex() 和QTextStream manipulators

[since 6.2] void endPropertyUpdateGroup()

结束一个属性更新组。如果最外层组已结束,则现在进行延迟绑定评估和通知。

警告: 如果在调用 endPropertyUpdateGroup 之前没有调用beginPropertyUpdateGroup ,则会导致未定义的行为。

此函数在 Qt 6.2 中引入。

另请参阅 Qt::beginPropertyUpdateGroupQScopedPropertyUpdateGroup

QTextStream &Qt::endl(QTextStream &stream)

将"\n "写入stream 并冲洗数据流。

相当于

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

注意:在 Windows 系统中,如果QTextStream 的设备或字符串是使用QIODeviceBase::Text 标志打开的,则所有'\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

注意: 十六进制修饰符只能用于写入数据流。

另请参阅 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

© 2025 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.