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键) |
类
类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::AlignLeft | 0x0001 | 与左边缘对齐。 |
Qt::AlignRight | 0x0002 | 与右边缘对齐。 |
Qt::AlignHCenter | 0x0004 | 在可用空间内水平居中。 |
Qt::AlignJustify | 0x0008 | 在可用空间内将文本两端对齐。 |
垂直标志包括:
| 常量 | 值 | 说明 |
|---|---|---|
Qt::AlignTop | 0x0020 | 与顶部对齐。 |
Qt::AlignBottom | 0x0040 | 与底部对齐。 |
Qt::AlignVCenter | 0x0080 | 在可用空间内垂直居中。 |
Qt::AlignBaseline | 0x0100 | 与基线对齐。 |
每次只能使用一个水平对齐标志。有一个二维对齐标志:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AlignCenter | AlignVCenter | AlignHCenter | 在两个维度上均居中。 |
每次最多可同时使用一个水平标志和一个垂直标志。Qt::AlignCenter 同时计为水平和垂直标志。
在可运行于从右到左模式的应用程序中,以下三个枚举值非常有用:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AlignAbsolute | 0x0010 | 如果小部件的布局方向为Qt::RightToLeft (而非默认的Qt::LeftToRight ),则 Qt::AlignLeft 指右边缘,Qt::AlignRight 指左边缘。这通常是期望的行为。 若希望 Qt::AlignLeft 始终表示“左”,Qt::AlignRight 始终表示“右”,请将该标志与 Qt::AlignAbsolute 结合使用。 |
Qt::AlignLeading | AlignLeft | Qt::AlignLeft 的同义词。 |
Qt::AlignTrailing | AlignRight | Qt::AlignRight 的同义词。 |
掩码:
| 常量 | 值 |
|---|---|
Qt::AlignHorizontal_Mask | AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute |
Qt::AlignVertical_Mask | AlignTop | AlignBottom | AlignVCenter | AlignBaseline |
标志的冲突组合将产生未定义的行为。
Alignment 类型是QFlags<AlignmentFlag> 的 typedef。它存储 AlignmentFlag 值的按“或”运算组合。
enum Qt::AnchorPoint
指定布局项中可锚定的边。该属性由QGraphicsAnchorLayout 方法使用。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AnchorLeft | 0 | 布局项的左侧。 |
Qt::AnchorHorizontalCenter | 1 | 一个“虚拟”边,位于布局项的左边和右边之间,居中。 |
Qt::AnchorRight | 2 | 布局项的右侧。 |
Qt::AnchorTop | 3 | 布局项的顶部。 |
Qt::AnchorVerticalCenter | 4 | 位于布局项顶侧和底侧中间的“虚拟”侧。 |
Qt::AnchorBottom | 5 | 布局项的底部。 |
另请参阅 QGraphicsAnchorLayout 。
enum Qt::ApplicationAttribute
此枚举描述了会改变全局功能行为的属性。这些属性可通过QCoreApplication::setAttribute() 启用或禁用,并可通过QCoreApplication::testAttribute() 进行检测。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AA_QtQuickUseDefaultSizePolicy (since Qt 6.7) | 1 | Qt Quick Layouts 使用Item 的内置尺寸策略。例如,当设置此选项时,Button 会填满可用宽度,但高度保持固定。 如果未设置此属性,则将使用其所在布局的默认尺寸行为,即使用其隐式尺寸作为首选尺寸。详细说明请参见“指定首选尺寸 ”和“尺寸约束”。如果设置了此属性,则可以通过显式设置Layout.fillWidth 或Layout.fillHeight 来覆盖具有该布局的项目的默认尺寸策略。 |
Qt::AA_DontShowIconsInMenus | 2 | 具有 Icon 属性的操作不会显示在任何菜单中,除非通过QAction::iconVisibleInMenu 属性进行明确设置。该属性的默认值取决于平台。要覆盖默认行为,请在QGuiApplication 实例化后设置该属性。 当前打开的菜单或已在原生 macOS 菜单栏中创建的菜单可能无法检测到此属性的更改。而QAction::iconVisibleInMenu 属性的更改将始终被检测到。 |
Qt::AA_DontShowShortcutsInContextMenus | 28 | 具有 Shortcut 属性的操作不会显示在任何快捷菜单中,除非通过QAction::shortcutVisibleInContextMenu 属性进行专门设置。该值在 Qt 5.10 中新增,默认基于QStyleHints::showShortcutsInContextMenus() 返回的值。 若要覆盖默认行为,请在实例化 `QCoreApplication ` 之前设置样式提示,或在实例化 `QCoreApplication ` 之后设置此属性。 |
Qt::AA_NativeWindows | 3 | 确保小部件具有原生窗口。 |
Qt::AA_DontCreateNativeWidgetSiblings | 4 | 确保原生小部件的同级小部件保持非原生状态,除非由Qt::WA_NativeWindow 属性明确设置。 |
Qt::AA_PluginApplication | 5 | 表示该插件使用 Qt 开发。根据操作系统的不同,它会抑制某些在插件场景下未必合理的特定初始化操作。 例如在 macOS 上,这包括避免加载主菜单的 nib 文件,以及不接管原生菜单栏。将此属性设置为 true 还将把 AA_DontUseNativeMenuBar 属性设为 true。它还会禁用原生事件过滤器。此属性必须在QGuiApplication 实例化之前设置。该值在 Qt 5.7 中新增。 |
Qt::AA_DontUseNativeMenuBar | 6 | 当此属性设置为 true 时,所有创建的菜单栏都不会作为原生菜单栏使用(例如,macOS 主屏幕顶部的菜单栏)。 |
Qt::AA_MacDontSwapCtrlAndMeta | 7 | 在 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_Use96Dpi | 8 | 假设屏幕的分辨率为 96 DPI,而不是使用操作系统提供的分辨率。这将使字体渲染在不同设备上以每点像素为单位保持一致,而不是将 1 点定义为 1/72 英寸。 |
Qt::AA_SynthesizeTouchForUnhandledMouseEvents | 11 | 所有未被应用程序接受的鼠标事件都将转换为触摸事件。 |
Qt::AA_SynthesizeMouseForUnhandledTouchEvents | 12 | 所有未被应用程序接受的触摸事件都将转换为鼠标左键事件。此属性默认启用。 |
Qt::AA_ForceRasterWidgets | 14 | 使顶级小部件使用纯光栅表面,且不支持非本地的基于 GL 的子小部件。 |
Qt::AA_UseDesktopOpenGL | 15 | 在使用动态加载 OpenGL 实现的平台上,强制使用桌面版 OpenGL(例如opengl32.dll或libGL.so)。必须在构建QGuiApplication 之前设置此属性。该值在 Qt 5.3 中新增。 |
Qt::AA_UseOpenGLES | 16 | 在使用动态加载 OpenGL 实现的平台上,强制使用 OpenGL ES 2.0 或更高版本。该属性必须在QGuiApplication 被构造之前设置。此值在 Qt 5.3 中新增。 |
Qt::AA_UseSoftwareOpenGL | 17 | 在采用 OpenGL 实现动态加载的平台上,强制使用基于软件的 OpenGL 实现。这通常是Mesa llvmpipe 的打补丁版本,提供 OpenGL 2.1 支持。如果没有此类 OpenGL 实现可用,该值可能无效。 该库的默认名称为opengl32sw.dll ,可通过设置环境变量QT_OPENGL_DLL 进行覆盖。更多信息请参阅特定平台的文档,例如《Qt for Windows》。该属性必须在QGuiApplication 被构造之前设置。此值在 Qt 5.4 中新增。 |
Qt::AA_ShareOpenGLContexts | 18 | 启用QOpenGLWidget 和QQuickWidget 等类所使用的 OpenGL 上下文之间的资源共享。这允许属于不同顶级窗口的QOpenGLWidget 实例之间共享 OpenGL 资源(如纹理)。该值自 Qt 5.4 起新增。 |
Qt::AA_SetPalette | 19 | 指示是否已在QGuiApplication 上显式设置了调色板。该值在 Qt 5.5 中新增。 |
Qt::AA_UseStyleSheetPropagationInWidgetStyles | 22 | 默认情况下,Qt 样式表会禁用常规的QWidget 调色板和字体传播。启用此标志后,样式表中进行的字体和调色板更改将在设置样式表时传播一次。更多详细信息请参阅《样式表语法 - 继承》。该值在 Qt 5.7 中新增。 |
Qt::AA_DontUseNativeDialogs | 23 | 当此属性设置为 true 时,所有创建的对话框都不会使用平台提供的原生对话框。该值在 Qt 5.7 中新增。 |
Qt::AA_SynthesizeMouseForUnhandledTabletEvents | 24 | 所有未被应用程序接受的平板电脑事件都将转换为鼠标事件。此属性默认启用。该值自 Qt 5.7 起新增。 |
Qt::AA_CompressHighFrequencyEvents | 25 | 启用对某些高频事件的压缩。在 X11 窗口系统中,默认值为 true,这意味着当QEvent::MouseMove 、QEvent::TouchUpdate 以及窗口大小和位置的变化发生频率超过应用程序的处理能力时,这些事件将被合并,以避免它们积累并在后续阶段压垮应用程序。 在 Windows 8 及更高版本中,默认值也是 true,但仅适用于触摸事件。鼠标和窗口事件不受此标志影响。在 Wayland 上,默认值也是 true,但仅适用于鼠标事件。在其他平台上,默认值为 false。(未来,压缩功能可能会在各平台上实现。) 您可以通过测试该属性来查看压缩功能是否已启用。如果您的应用程序需要处理所有未压缩的事件,可以取消设置此属性。请注意,来自平板设备的输入事件不会被压缩。若希望这些事件也被压缩,请参阅 AA_CompressTabletEvents。该值在 Qt 5.7 中新增。 |
Qt::AA_CompressTabletEvents | 29 | 启用对平板设备输入事件的压缩。 请注意,必须将 AA_CompressHighFrequencyEvents 设为 true 才能启用事件压缩,且此标志将前者的作用范围扩展至平板设备事件。目前支持 X11 窗口系统、Windows 8 及更高版本。默认值为 false。此属性在 Qt 5.10 中添加。 |
Qt::AA_DontCheckOpenGLContextThreadAffinity | 26 | 在使用 `QOpenGLContext` 将上下文设为当前上下文时,不检查 `QOpenGLContext ` 对象的 `QObject thread affinity ` 是否与调用 `makeCurrent()` 的线程相同。该值在 Qt 5.8 中新增。 |
Qt::AA_DisableShaderDiskCache | 27 | 禁用在磁盘上缓存着色器程序二进制文件。默认情况下,Qt Quick 、QPainter 的 OpenGL 后端,以及任何使用QOpenGLShaderProgram 及其addCacheableShaderFromSource重载之一的应用,都会在支持glProgramBinary() 的系统上,在共享或按进程划分的缓存存储位置中使用基于磁盘的程序二进制缓存。 如果极少数情况下这会引发问题,请将此属性设置为禁用所有基于磁盘的着色器缓存。 |
Qt::AA_DisableSessionManager | 31 | 禁用QSessionManager 。默认情况下,Qt会在受支持的平台上为GUI应用程序连接到正在运行的会话管理器,而对于系统服务而言,使用会话管理器可能是不必要的。必须在构建QGuiApplication 之前设置此属性。此值在5.14版本中新增 |
Qt::AA_DisableNativeVirtualKeyboard | 9 | 当设置此属性时,在没有物理键盘的系统上,文本输入控件获得焦点时,原生屏幕虚拟键盘将不会自动显示。目前仅在 Windows 平台上受支持。此值自 5.15 版本起新增 |
Qt::AA_DontUseNativeMenuWindows | 10 | 当此属性设置为 true 时,创建的菜单弹出窗口(例如上下文菜单、组合框菜单和非原生菜单栏菜单)将不会作为原生顶级窗口显示,除非实现有此要求。此值在 Qt 6.8 中添加。 |
enum Qt::ApplicationState
flags Qt::ApplicationStates
此枚举类型用于指定应用程序的当前状态。
状态包括
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ApplicationSuspended | 0x00000000 | 应用程序即将暂停。进入此状态时,应用程序应保存其状态,停止所有活动,并做好停止代码执行的准备。在暂停期间,应用程序可能会在任何时候被终止,且不会再发出警告(例如,当内存不足时,操作系统会强制清除暂停的应用程序)。 |
Qt::ApplicationHidden | 0x00000001 | 应用程序处于隐藏状态并在后台运行。这是应用程序在用户与其他应用程序交互时需要进行后台处理(如播放音乐)的正常状态。进入此状态时,应用程序应释放所有图形资源。 |
Qt::ApplicationInactive | 0x00000002 | 应用程序可见,但未被选中置于最前端。在桌面平台上,这通常意味着用户激活了另一个应用程序。在移动平台上,更常见的情况是当操作系统因来电或短信等通知打断用户时,应用程序会进入此状态。处于此状态时,应考虑减少占用大量 CPU 资源的任务。 |
Qt::ApplicationActive | 0x00000004 | 应用程序可见且被选中置于最前。 |
ApplicationStates 类型是QFlags<ApplicationState> 的 typedef。它存储 ApplicationState 值的按“或”运算组合。
enum Qt::ArrowType
| 常数 | 值 |
|---|---|
Qt::NoArrow | 0 |
Qt::UpArrow | 1 |
Qt::DownArrow | 2 |
Qt::LeftArrow | 3 |
Qt::RightArrow | 4 |
enum Qt::AspectRatioMode
此枚举类型定义了在缩放矩形时宽高比的变化情况。

| 常量 | 值 | 描述 |
|---|---|---|
Qt::IgnoreAspectRatio | 0 | 尺寸可自由缩放。长宽比不会被保留。 |
Qt::KeepAspectRatio | 1 | 尺寸被缩放为给定矩形内尽可能大的矩形,同时保持宽高比。 |
Qt::KeepAspectRatioByExpanding | 2 | 尺寸将缩放为在给定矩形外部尽可能小的矩形,同时保持宽高比。 |
另请参阅 QSize::scale() 和QImage::scaled()。
enum Qt::Axis
该枚举类型定义了三个值,用于表示笛卡尔坐标系中的三个坐标轴。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::XAxis | 0 | X 轴。 |
Qt::YAxis | 1 | Y 轴。 |
Qt::ZAxis | 2 | Z 轴。 |
另请参阅 QTransform::rotate() 和QTransform::rotateRadians()。
enum Qt::BGMode
后台模式:
| 常量 | 值 |
|---|---|
Qt::TransparentMode | 0 |
Qt::OpaqueMode | 1 |
enum Qt::BrushStyle
该枚举类型定义了Qt支持的画笔样式,即使用QPainter 绘制形状时的填充图案。

| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoBrush | 0 | 无画笔图案。 |
Qt::SolidPattern | 1 | 均匀颜色。 |
Qt::Dense1Pattern | 2 | 笔触图案极其密集。 |
Qt::Dense2Pattern | 3 | 刷痕非常密集。 |
Qt::Dense3Pattern | 4 | 笔触图案稍密。 |
Qt::Dense4Pattern | 5 | 笔触略密。 |
Qt::Dense5Pattern | 6 | 笔触分布稍显稀疏。 |
Qt::Dense6Pattern | 7 | 非常稀疏的笔触图案。 |
Qt::Dense7Pattern | 8 | 极其稀疏的笔触图案。 |
Qt::HorPattern | 9 | 水平线。 |
Qt::VerPattern | 10 | 垂直线。 |
Qt::CrossPattern | 11 | 水平线与垂直线交叉。 |
Qt::BDiagPattern | 12 | 向后倾斜的对角线。 |
Qt::FDiagPattern | 13 | 向前倾斜的线条。 |
Qt::DiagCrossPattern | 14 | 交叉的对角线。 |
Qt::LinearGradientPattern | 15 | 线性渐变(使用专用的QBrush 构造函数设置)。 |
Qt::ConicalGradientPattern | 17 | 锥形渐变(使用专用的QBrush 构造函数设置)。 |
Qt::RadialGradientPattern | 16 | 径向渐变(使用专用的QBrush 构造函数设置)。 |
Qt::TexturePattern | 24 | 自定义图案(参见QBrush::setTexture())。 |
另请参阅 QBrush 。
enum Qt::CaseSensitivity
| 常量 | 值 |
|---|---|
Qt::CaseInsensitive | 0 |
Qt::CaseSensitive | 1 |
enum Qt::CheckState
此枚举描述可选中项、控件和小部件的状态。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::Unchecked | 0 | 该项目未被选中。 |
Qt::PartiallyChecked | 1 | 该项目部分被选中。在分层模型中,如果其子项中只有部分(而非全部)被选中,则该项目可能被部分选中。 |
Qt::Checked | 2 | 该项目已选中。 |
另请参阅 QCheckBox 、Qt::ItemFlags 以及Qt::ItemDataRole 。
enum Qt::ChecksumType
此枚举描述了qChecksum() 可能使用的标准。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ChecksumIso3309 | 0 | 基于 ISO 3309 的校验和计算。 |
Qt::ChecksumItuV41 | 1 | 基于 ITU-V.41 进行校验和计算。 |
enum Qt::ClipOperation
| 常数 | 值 | 描述 |
|---|---|---|
Qt::NoClip | 0 | 此操作将关闭裁剪功能。 |
Qt::ReplaceClip | 1 | 用函数调用中提供的剪切路径/矩形/区域替换当前的剪切路径/矩形/区域。 |
Qt::IntersectClip | 2 | 将当前的剪切路径/矩形/区域与函数调用中提供的进行相交运算。 |
enum class Qt::ColorScheme
表示应用程序主题的外观,由QGuiApplication::palette() 定义。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ColorScheme::Unknown | 0 | 外观未知。 |
Qt::ColorScheme::Light | 1 | 背景颜色比文本颜色浅,即主题为浅色。 |
Qt::ColorScheme::Dark | 2 | 背景颜色比文字颜色深,即主题为深色。 |
enum Qt::ConnectionType
该枚举描述了信号与插槽之间可使用的连接类型。具体而言,它决定了某个信号是立即传递给插槽,还是被排队以供稍后传递。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AutoConnection | 0 | (默认)如果接收方lives in 信号的发出线程,则使用 Qt::DirectConnection。否则,使用 Qt::QueuedConnection。连接类型在信号发出时确定。 |
Qt::DirectConnection | 1 | 信号发出时,槽函数会立即被调用。槽函数在发出信号的线程中执行。 |
Qt::QueuedConnection | 2 | 当控制权返回接收方线程的事件循环时,将调用该槽函数。该槽函数在接收方线程中执行。 |
Qt::BlockingQueuedConnection | 3 | 与 Qt::QueuedConnection 相同,区别在于发送信号的线程会阻塞直至槽函数返回。如果接收方位于发送信号的线程中,则绝对不能使用此连接,否则应用程序将陷入死锁。 |
Qt::UniqueConnection | 0x80 | 这是一个标志,可通过位或运算与上述任何一种连接类型组合使用。当设置 Qt::UniqueConnection 时,如果连接已存在(即同一对对象的同一信号已连接到同一槽),则QObject::connect() 将失败。 |
Qt::SingleShotConnection | 0x100 | 这是一个可通过位或运算与上述任意一种连接类型组合使用的标志。当设置 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::NoContextMenu | 0 | 该控件不提供上下文菜单,上下文菜单的处理交由控件的父级处理。 |
Qt::PreventContextMenu | 4 | 该小部件不提供上下文菜单,且与NoContextMenu 不同,处理不会推迟到小部件的父级。这意味着所有鼠标右键事件都保证通过QWidget::mousePressEvent()和QWidget::mouseReleaseEvent()传递到小部件本身。 |
Qt::DefaultContextMenu | 1 | 小部件的QWidget::contextMenuEvent() 处理程序被调用。 |
Qt::ActionsContextMenu | 2 | 控件将其 `QWidget::actions()` 内容作为上下文菜单显示。 |
Qt::CustomContextMenu | 3 | 控件发出QWidget::customContextMenuRequested()信号。 |
[since 6.8] enum class Qt::ContextMenuTrigger
此枚举类型定义了用于触发上下文菜单事件的鼠标事件。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ContextMenuTrigger::Press | 0 | 鼠标按下事件时的上下文菜单,在 UNIX 系统上为默认值。 |
Qt::ContextMenuTrigger::Release | 1 | 鼠标释放事件时的上下文菜单,这是 Windows 系统的默认行为。 |
该枚举在 Qt 6.8 中引入。
另请参阅 QStyleHints::contextMenuTrigger 。
[since 6.10] enum class Qt::ContrastPreference
表示用户首选的对比度设置。样式可通过提高前景色和背景色的对比度,以及为小部件和控件设置更粗的边框来遵循此设置。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ContrastPreference::NoPreference | 0 | 无特定偏好。 |
Qt::ContrastPreference::HighContrast | 1 | 用户希望应用程序采用高对比度模式。 |
该枚举在 Qt 6.10 中引入。
enum Qt::CoordinateSystem
此枚举用于指定坐标系。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::DeviceCoordinates | 0 | 坐标是相对于对象绘图设备的左上角的。 |
Qt::LogicalCoordinates | 1 | 坐标相对于对象的左上角。 |
enum Qt::Corner
此枚举类型指定矩形中的一个角:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TopLeftCorner | 0x00000 | 矩形的左上角。 |
Qt::TopRightCorner | 0x00001 | 矩形的右上角。 |
Qt::BottomLeftCorner | 0x00002 | 矩形的左下角。 |
Qt::BottomRightCorner | 0x00003 | 矩形的右下角。 |
enum Qt::CursorMoveStyle
此枚举描述了文本光标可用的移动方式。选项包括:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::LogicalMoveStyle | 0 | 在从左到右的文本块中,按下左箭头键时光标位置向左移动,按下右箭头键时光标位置向右移动。如果文本块是从右到左的,则行为相反。 |
Qt::VisualMoveStyle | 1 | 无论文本的书写方向如何,按下左箭头键都会使光标向左移动;按下右箭头键都会使光标向右移动。 |
enum Qt::CursorShape
此枚举类型定义了可用的各种光标。
标准箭头光标是小部件处于正常状态时的默认光标。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ArrowCursor | 0 | 标准箭头光标。 |
Qt::UpArrowCursor | 1 | 一个向上指向屏幕顶部的箭头。 |
Qt::CrossCursor | 2 | 十字准线光标,通常用于帮助用户精确选择屏幕上的某个点。 |
Qt::WaitCursor | 3 | 沙漏或时钟光标,通常在用户无法与应用程序交互的操作期间显示。 |
Qt::IBeamCursor | 4 | 插入符或 I 形光标,表示该控件可以接受并显示文本输入。 |
Qt::SizeVerCursor | 5 | 用于垂直调整顶级窗口大小的控件所使用的光标。 |
Qt::SizeHorCursor | 6 | 用于调整顶级窗口水平大小的控件所使用的光标。 |
Qt::SizeBDiagCursor | 7 | 用于通过右上角和左下角对顶级窗口进行对角线调整大小的控件的光标。 |
Qt::SizeFDiagCursor | 8 | 用于通过顶部左侧和底部右侧角对顶级窗口进行对角线调整大小的元素的光标。 |
Qt::SizeAllCursor | 9 | 用于可沿任意方向调整顶级窗口大小的元素的光标。 |
Qt::BlankCursor | 10 | 一个空白/不可见的光标,通常用于需要隐藏光标形状的情况。 |
Qt::SplitVCursor | 11 | 用于垂直分割线的指针,表示可以水平拖动控点来调整可用空间的分配。 |
Qt::SplitHCursor | 12 | 用于水平分割线的光标,表示可以垂直拖动控点来调整可用空间的分配。 |
Qt::PointingHandCursor | 13 | 一个指向手形光标,通常用于超链接等可点击元素。 |
Qt::ForbiddenCursor | 14 | 带斜杠的圆圈光标,通常用于拖放操作中,以指示被拖动的内容不能被放置在特定的控件上或某些区域内。 |
Qt::OpenHandCursor | 17 | 一个代表张开手掌的光标,通常用于指示光标下方的区域是画布的可见部分,用户可以点击并拖动该区域以进行滚动。 |
Qt::ClosedHandCursor | 18 | 代表紧握拳头的光标,通常用于指示正在进行涉及滚动的拖拽操作。 |
Qt::WhatsThisCursor | 15 | 带问号的箭头,通常用于指示控件存在“这是什么?”帮助功能。 |
Qt::BusyCursor | 16 | 沙漏或时钟光标,通常在允许用户在后台操作执行期间与应用程序交互时显示。 |
Qt::DragMoveCursor | 20 | 通常在拖动项目时使用的光标。 |
Qt::DragCopyCursor | 19 | 通常在拖动项目以复制它时使用的光标。 |
Qt::DragLinkCursor | 21 | 通常在拖动项目以创建其链接时使用的光标。 |
Qt::BitmapCursor | 24 |
enum Qt::DateFormat
| 常数 | 值 | 描述 |
|---|---|---|
Qt::TextDate | 0 | 默认的 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::ISODateWithMs | 9 | ISO 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::ISODate | 1 | ISO 8601扩展格式,与ISODateWithMs 相同,但在转换为字符串时省略毫秒(.zzz )部分。从字符串读取时没有区别:如果最后一个时间字段存在小数部分,两种格式都会接受它。 |
Qt::RFC2822Date | 8 | RFC 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::Monday | 1 |
Qt::Tuesday | 2 |
Qt::Wednesday | 3 |
Qt::Thursday | 4 |
Qt::Friday | 5 |
Qt::Saturday | 6 |
Qt::Sunday | 7 |
enum Qt::DockWidgetArea
flags Qt::DockWidgetAreas
表示QDockWidget 可以停靠的位置。
注意: 带有标签页的浮动停靠窗体 可停靠在任意位置。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::LeftDockWidgetArea | 0x1 | QMainWindow 的左侧停靠区域。 |
Qt::RightDockWidgetArea | 0x2 | QMainWindow 的右侧停靠区域。 |
Qt::TopDockWidgetArea | 0x4 | QMainWindow 的顶部停靠区域。 |
Qt::BottomDockWidgetArea | 0x8 | QMainWindow 的底部停靠区。 |
Qt::AllDockWidgetAreas | DockWidgetArea_Mask | 所有停靠小部件区域(默认)。 |
Qt::NoDockWidgetArea | 0 | 无停靠小部件区域。 |
DockWidgetAreas 类型是QFlags<DockWidgetArea> 的 typedef。它存储 DockWidgetArea 值的或(OR)组合。
另请参阅 QDockWidget::setAllowedAreas 和QDockWidget::isAreaAllowed 。
enum Qt::DropAction
flags Qt::DropActions
| 常数 | 值 | 描述 |
|---|---|---|
Qt::CopyAction | 0x1 | 将数据复制到目标。 |
Qt::MoveAction | 0x2 | 将数据从源移动到目标。 |
Qt::LinkAction | 0x4 | 从源创建到目标的链接。 |
Qt::ActionMask | 0xff | |
Qt::IgnoreAction | 0x0 | 忽略该操作(对数据不进行任何处理)。 |
Qt::TargetMoveAction | 0x8002 | 在 Windows 系统上,当拖放数据的所有权应由目标应用程序接管时(即源应用程序不应删除该数据),将使用此值。在 X11 系统上,此值用于执行移动操作。TargetMoveAction 在 Mac 系统上不被使用。 |
DropActions 类型是QFlags<DropAction> 的 typedef 定义。它存储 DropAction 值的按“或”运算组合。
enum Qt::Edge
flags Qt::Edges
此枚举类型指定矩形中的某条边:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TopEdge | 0x00001 | 矩形的顶边。 |
Qt::LeftEdge | 0x00002 | 矩形的左边缘。 |
Qt::RightEdge | 0x00004 | 矩形的右边。 |
Qt::BottomEdge | 0x00008 | 矩形的底部边缘。 |
“边”类型是QFlags<Edge> 的 typedef 定义。它存储 Edge 值的按“或”运算组合。
enum Qt::EnterKeyType
此选项可用于更改屏幕键盘上“返回”键的外观。
注意:并非 所有平台都支持这些值。对于不支持的值,系统将改用默认键。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::EnterKeyDefault | 0 | 默认的 Enter 键。这可以是关闭键盘的按钮,也可以是在多行输入字段中用于换行的 Return 按钮。 |
Qt::EnterKeyReturn | 1 | 显示一个可插入新行的“回车”按钮。按下此按钮时,键盘不会关闭。 |
Qt::EnterKeyDone | 2 | 显示“完成”按钮。按下此按钮时,键盘将关闭。 |
Qt::EnterKeyGo | 3 | 显示“去”按钮。通常用于地址栏中输入 URL 时;按下此按钮后,键盘将关闭。 |
Qt::EnterKeySend | 4 | 显示“发送”按钮。按下此按钮后,键盘将关闭。 |
Qt::EnterKeySearch | 5 | 显示“搜索”按钮。点击此按钮后,键盘将关闭。 |
Qt::EnterKeyNext | 6 | 显示“下一步”按钮。通常用于表单中,以便导航到下一个输入字段;按下此按钮时,键盘不会关闭。 |
Qt::EnterKeyPrevious | 7 | 显示“上一页”按钮。点击此按钮时,键盘不会关闭。 |
enum Qt::EventPriority
此枚举可用于指定事件优先级。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::HighEventPriority | 1 | 具有此优先级的事件会在具有 NormalEventPriority 或 LowEventPriority 的事件之前发送。 |
Qt::NormalEventPriority | 0 | 具有此优先级的事件在具有 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::OddEvenFill | 0 | 指定使用奇偶填充规则填充该区域。使用此规则时,我们通过以下方法来确定一个点是否位于图形内部。 从该点画一条水平线到形状外部的某处,并计算交点数。如果交点数为奇数,则该点位于形状内部。此模式为默认模式。 |
Qt::WindingFill | 1 | 指定该区域采用“非零绕行”规则进行填充。使用此规则时,我们通过以下方法判断一点是否位于形状内部:从该点向形状外部某处画一条水平线,并统计交点数量。如果交点数量为奇数,则该点位于形状内部。此模式为默认模式。采用“非零绕行”规则时,我们通过以下方法判断一点是否位于形状内部:从该点向形状外部某处画一条水平线,并判断该线在每个交点处的方向是向上还是向下。 绕数由各交点的方向之和决定。若该数值不为零,则该点位于图形内部。在大多数情况下,此填充模式也可视为闭合图形的交集。 |
enum Qt::FindChildOption
flags Qt::FindChildOptions
| 常数 | 值 | 描述 |
|---|---|---|
Qt::FindDirectChildrenOnly | 0x0 | 仅检查对象的直接子节点。 |
Qt::FindChildrenRecursively | 0x1 | 检查对象的所有子节点(递归搜索)。 |
FindChildOptions 类型是QFlags<FindChildOption> 的 typedef 定义。它存储 FindChildOption 值的“或”组合。
enum Qt::FocusPolicy
该枚举类型定义了控件在获取键盘焦点方面的各种策略。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TabFocus | 0x1 | 该控件通过 Tab 键接受焦点。 |
Qt::ClickFocus | 0x2 | 该控件可通过点击获得焦点。 |
Qt::StrongFocus | TabFocus | ClickFocus | 0x8 | 该控件既可通过 Tab 键切换焦点,也可通过点击获得焦点。在 macOS 上,这还表示当控件处于“文本/列表焦点模式”时,它接受 Tab 键焦点。 |
Qt::WheelFocus | StrongFocus | 0x4 | 类似于 Qt::StrongFocus,此外该控件还支持通过鼠标滚轮获取焦点。 |
Qt::NoFocus | 0 | 该控件不接受焦点。 |
enum Qt::FocusReason
此枚举用于指定焦点变化的原因。它将通过QWidget::setFocus 传递,并可在焦点变化时发送到控件的QFocusEvent 中获取。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MouseFocusReason | 0 | 发生了鼠标操作。 |
Qt::TabFocusReason | 1 | 按下了 Tab 键。 |
Qt::BacktabFocusReason | 2 | 发生了“Backtab”操作。此操作的输入可能包含 Shift 或 Control 键;例如 Shift+Tab。 |
Qt::ActiveWindowFocusReason | 3 | 窗口系统将此窗口设为活动状态或非活动状态。 |
Qt::PopupFocusReason | 4 | 应用程序打开/关闭了一个弹出窗口,该窗口获取/释放了键盘焦点。 |
Qt::ShortcutFocusReason | 5 | 用户输入了标签的“伙伴”快捷键 |
Qt::MenuBarFocusReason | 6 | 菜单栏获得了焦点。 |
Qt::OtherFocusReason | 7 | 其他原因,通常与具体应用程序相关。 |
另请参阅 “控件中的键盘焦点”。
enum Qt::GestureFlag
flags Qt::GestureFlags
此枚举类型描述了订阅手势时可用的其他标志。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::DontStartGestureOnChildren | 0x01 | 默认情况下,手势可以在小部件上或其任何子元素上开始。使用此标志可禁用此功能,并允许手势仅在小部件上开始。 |
Qt::ReceivePartialGestures | 0x02 | 允许将任何被忽略的手势事件传播到指定了此提示的父控件。默认情况下,只有处于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::NoGesture | 0 | 未检测到任何手势。 |
Qt::GestureStarted | 1 | 已开始一个连续手势。 |
Qt::GestureUpdated | 2 | 手势仍在进行中。 |
Qt::GestureFinished | 3 | 手势已结束。 |
Qt::GestureCanceled | 4 | 手势被取消了。 |
另请参阅 QGesture 。
enum Qt::GestureType
此枚举类型描述了标准手势。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TapGesture | 1 | 轻触手势。 |
Qt::TapAndHoldGesture | 2 | 轻触并按住(长按)手势。 |
Qt::PanGesture | 3 | 平移手势。 |
Qt::PinchGesture | 4 | 捏合手势。 |
Qt::SwipeGesture | 5 | 滑动手势。 |
Qt::CustomGesture | 0x0100 | 一个标志,可用于测试该手势是否为用户定义的手势 ID。 |
用户定义的手势通过QGestureRecognizer::registerRecognizer() 函数进行注册,该函数会生成一个设置了 Qt::CustomGesture 标志的自定义手势 ID。
另请参阅 QGesture 、QWidget::grabGesture() 和QGraphicsObject::grabGesture()。
enum Qt::GlobalColor
Qt 的预定义QColor 对象:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::white | 3 | 白色 (#ffffff) |
Qt::black | 2 | 黑色 (#000000) |
Qt::red | 7 | 红色 (#ff0000) |
Qt::darkRed | 13 | 深红色 (#800000) |
Qt::green | 8 | 绿色 (#00ff00) |
Qt::darkGreen | 14 | 深绿色 (#008000) |
Qt::blue | 9 | 蓝色 (#0000ff) |
Qt::darkBlue | 15 | 深蓝色 (#000080) |
Qt::cyan | 10 | 青色 (#00ffff) |
Qt::darkCyan | 16 | 深青色 (#008080) |
Qt::magenta | 11 | 品红 (#ff00ff) |
Qt::darkMagenta | 17 | 深品红 (#800080) |
Qt::yellow | 12 | 黄色 (#ffff00) |
Qt::darkYellow | 18 | 深黄色 (#808000) |
Qt::gray | 5 | 灰色 (#a0a0a4) |
Qt::darkGray | 4 | 深灰色 (#808080) |
Qt::lightGray | 6 | 浅灰色 (#c0c0c0) |
Qt::transparent | 19 | 透明黑色值(即QColor(0, 0, 0, 0)) |
Qt::color0 | 0 | 0 像素值(适用于位图) |
Qt::color1 | 1 | 1 像素值(适用于位图) |
另请参阅 QColor 。
Qt::HANDLE
系统对象的一种句柄类型,在所有平台上均定义为void * 。
enum class Qt::HighDpiScaleFactorRoundingPolicy
此枚举描述了高DPI缩放因子可能的舍入策略,这些策略决定了如何处理非整数缩放因子(例如 Windows 150%)。
通过在创建应用程序对象之前调用QGuiApplication::setHighDpiScaleFactorRoundingPolicy()来设置当前生效的策略。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::HighDpiScaleFactorRoundingPolicy::Round | 1 | 对 0.5 及以上数值向上舍入。 |
Qt::HighDpiScaleFactorRoundingPolicy::Ceil | 2 | 始终向上取整。 |
Qt::HighDpiScaleFactorRoundingPolicy::Floor | 3 | 始终向下取整。 |
Qt::HighDpiScaleFactorRoundingPolicy::RoundPreferFloor | 4 | 0.75及以上向上取整。 |
Qt::HighDpiScaleFactorRoundingPolicy::PassThrough | 5 | 不进行四舍五入。 |
另请参阅 QGuiApplication::setHighDpiScaleFactorRoundingPolicy()。
enum Qt::HitTestAccuracy
此枚举包含QTextDocument 类在检测文本文档上的鼠标点击时可使用的精度类型。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ExactHit | 0 | 输入发生的位置必须与文档中对输入敏感的部分完全重合。 |
Qt::FuzzyHit | 1 | 输入发生的位置可以靠近文档的输入敏感区域。 |
enum Qt::ImageConversionFlag
flags Qt::ImageConversionFlags
如果列表中未包含其他值,则会采用标有“(默认)”的选项(因为默认值为零):
彩色/单色偏好设置(QBitmap 模式下将被忽略):
| 常量 | 值 | 说明 |
|---|---|---|
Qt::AutoColor | 0x00000000 | (默认) - 如果图像的depth 值为1且仅包含黑白像素,则像素图将变为单色。 |
Qt::ColorOnly | 0x00000003 | 像素图将被抖动处理/转换为native display depth 。 |
Qt::MonoOnly | 0x00000002 | 位图将变为单色。如有必要,将使用所选的抖动算法对其进行抖动处理。 |
抖动模式首选项:
| 恒定 | 值 | 说明 |
|---|---|---|
Qt::DiffuseDither | 0x00000000 | (默认)——使用误差扩散的高质量抖动。 |
Qt::OrderedDither | 0x00000010 | 一种速度更快、有序的抖动方式。 |
Qt::ThresholdDither | 0x00000020 | 不进行抖动;使用最接近的颜色。 |
1 位透明度蒙版的抖动模式首选项:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ThresholdAlphaDither | 0x00000000 | (默认) - 不进行抖动。 |
Qt::OrderedAlphaDither | 0x00000004 | 一种更快、有序的抖动方式。 |
Qt::DiffuseAlphaDither | 0x00000008 | 一种使用误差扩散的高质量抖动。 |
颜色匹配与抖动偏好:
| 恒定 | 值 | 说明 |
|---|---|---|
Qt::PreferDither | 0x00000040 | 将图像转换为较小的色彩空间时,始终进行抖动处理。 |
Qt::AvoidDither | 0x00000080 | 仅当源图像使用的不同颜色数量超过目标格式颜色表的大小时,才对索引格式进行抖动处理。 |
Qt::AutoDither | 0x00000000 | (默认)——仅在向下转换为 1 位或 8 位索引格式时进行抖动。 |
Qt::NoOpaqueDetection | 0x00000100 | 不检查图像是否包含非不透明像素。 如果您知道图像为半透明,且希望避免检查图像中的像素直至找到非不透明像素所带来的开销,或者出于其他原因希望像素图保留 alpha 通道,请使用此选项。如果图像没有 alpha 通道,此标志将不起作用。 |
Qt::NoFormatConversion | 0x00000200 | 不对图像进行任何格式转换。例如,在将QImage 转换为QPixmap 以进行一次性渲染操作时,此选项可能很有用。请注意,若QPixmap 未采用首选格式,作为绘图设备时其性能将大幅降低。 |
ImageConversionFlags 类型是QFlags<ImageConversionFlag> 的 typedef。它存储 ImageConversionFlag 值的按“或”运算组合。
enum Qt::InputMethodHint
flags Qt::InputMethodHints
| 常数 | 值 | 描述 |
|---|---|---|
Qt::ImhNone | 0x0 | 无提示。 |
影响行为的标志:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImhHiddenText | 0x1 | 输入法在输入时不应显示字符。当将QLineEdit::echoMode 设置为Password 时,此选项会自动启用。请注意,将ImhHiddenText 设置为 不会改变回显模式。 |
请注意,Android输入法会刻意限制密码字段仅允许输入拉丁/ASCII字符。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImhSensitiveData | 0x2 | 活动输入法不应将输入的文本存储在任何持久存储中,例如预测性用户词典。 |
请注意,Qt 框架将此视为可见密码,在此情况下,Android 输入法会刻意仅允许输入拉丁/ASCII 字符。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImhNoAutoUppercase | 0x4 | 当句子结束时,输入法不应尝试自动切换为大写。 |
Qt::ImhPreferNumbers | 0x8 | 最好使用数字(但不是必须的)。 |
Qt::ImhPreferUppercase | 0x10 | 建议使用大写字母(但非必须)。 |
Qt::ImhPreferLowercase | 0x20 | 建议使用小写字母(但非强制要求)。 |
Qt::ImhNoPredictiveText | 0x40 | 输入时请勿使用预测文本(即词典查找)。 |
Qt::ImhDate | 0x80 | 文本编辑器充当日期字段。 |
Qt::ImhTime | 0x100 | 文本编辑器用作时间字段。 |
Qt::ImhPreferLatin | 0x200 | 建议使用拉丁字符(但非必须)。 |
Qt::ImhMultiLine | 0x400 | 文本字段中可以输入多行内容。 |
Qt::ImhNoEditMenu | 0x800 | 请勿使用内置的“编辑”菜单。此标志自 Qt 5.11 起引入。 |
Qt::ImhNoTextHandles | 0x1000 | 请勿使用内置的文本光标和选择控点。此标志自 Qt 5.11 起引入。 |
Qt::ImhNoFullscreen (since Qt 6.12) | 0x2000 | 请勿使用全屏输入法。 |
限制输入的标志(排他性标志):
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImhDigitsOnly | 0x10000 | 仅允许输入数字。 |
Qt::ImhDecimalNumbersOnly (since Qt 6.12) | 0x1000000 | 仅允许输入数字。这包括小数点,但不包括负数。 |
Qt::ImhFormattedNumbersOnly | 0x20000 | 仅允许输入数字。这包括小数点和负号。 |
Qt::ImhUppercaseOnly | 0x40000 | 仅允许输入大写字母。 |
Qt::ImhLowercaseOnly | 0x80000 | 仅允许输入小写字母。 |
Qt::ImhDialableCharactersOnly | 0x100000 | 仅允许输入适合电话拨号的字符。 |
Qt::ImhEmailCharactersOnly | 0x200000 | 仅允许输入适用于电子邮件地址的字符。 |
Qt::ImhUrlCharactersOnly | 0x400000 | 仅允许输入适合用于URL的字符。 |
Qt::ImhLatinOnly | 0x800000 | 仅允许基于拉丁字母的输入。 |
验证规则:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImhExclusiveInputMask | 0xffff0000 | 如果使用了任何排他标志,此掩码将返回非零值。 注意:如果将 多个排他标志进行按位或(OR)运算,所得的字符集将由指定集合的并集组成。例如,指定 |
InputMethodHints 类型是QFlags<InputMethodHint> 的 typedef。它存储 InputMethodHint 值的按“或”运算组合。
另请参阅 QGraphicsItem::inputMethodHints()。
enum Qt::InputMethodQuery
flags Qt::InputMethodQueries
| 常数 | 值 | 描述 |
|---|---|---|
Qt::ImEnabled | 0x1 | 该控件支持输入法输入。 |
Qt::ImCursorRectangle | 0x2 | 以控件坐标系为基准,覆盖输入光标区域的矩形。 |
Qt::ImFont | 0x4 | 当前用于文本输入的字体。 |
Qt::ImCursorPosition | 0x8 | 光标在输入区域周围文本中的逻辑位置(参见ImSurroundingText )。该位置不包含光标在预编辑区域内的偏移量,该偏移量由QInputMethodEvent::Cursor 控制。 |
Qt::ImSurroundingText | 0x10 | 输入区域周围的纯文本,例如当前段落。 |
Qt::ImCurrentSelection | 0x20 | 当前选中的文本。 |
Qt::ImMaximumTextLength | 0x40 | 控件可容纳的最大字符数。如果没有限制,则返回QVariant::QVariant()。 |
Qt::ImAnchorPosition | 0x80 | 选择锚点的位置。该值可能小于或大于ImCursorPosition ,具体取决于光标位于选择区域的哪一侧。如果没有选择内容,则返回与ImCursorPosition 相同的结果。 |
Qt::ImHints | 0x100 | 针对预期输入的输入法提示。(参见Qt::InputMethodHints ) |
Qt::ImPreferredLanguage | 0x200 | 首选输入语言。 |
Qt::ImPlatformData | 0x80000000 | 输入法的平台特定数据。 |
Qt::ImAbsolutePosition | 0x400 | 光标在整个文档中的逻辑位置。该位置不包含由QInputMethodEvent::Cursor 控制的光标在预编辑区域内的偏移量。 |
Qt::ImTextBeforeCursor | 0x800 | 光标前面的纯文本。控件可以决定返回多少文本,但除非光标位于文档开头,否则不得返回空字符串。 |
Qt::ImTextAfterCursor | 0x1000 | 光标后的纯文本。小部件可以决定返回多少文本,但除非光标位于文档末尾,否则不得返回空字符串。 |
Qt::ImEnterKeyType | 0x2000 | 回车键类型。 |
Qt::ImAnchorRectangle | 0x4000 | 选择锚点的边界矩形。此值在 Qt 5.7 中新增。 |
Qt::ImInputItemClipRectangle | 0x8000 | 实际暴露的输入项矩形。输入项的部分内容可能会被裁剪。该值会考虑裁剪情况,并返回实际绘制的项矩形。该矩形采用控件坐标系。 |
Qt::ImReadOnly | 0x10000 | 该小部件为只读。此值自 Qt 6.2 起新增。 |
掩码:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ImQueryInput | ImCursorRectangle | ImCursorPosition | ImSurroundingText |
ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition | 输入时常被修改的属性。 |
Qt::ImQueryAll | 0xffffffff | 查询所有输入法属性。 |
InputMethodQueries 类型是QFlags<InputMethodQuery> 的 typedef。它存储 InputMethodQuery 值的“或”组合。
另请参阅 QInputMethodQueryEvent 。
enum Qt::ItemDataRole
模型中的每个项都关联着一组数据元素,每个元素都有其特定的角色。视图通过这些角色向模型指示所需的数据类型。自定义模型应按这些类型返回数据。
通用角色(及其关联的类型)包括:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::DisplayRole | 0 | 以文本形式渲染的关键数据。(QString ) |
Qt::DecorationRole | 1 | 以图标形式呈现为装饰的数据。(QColor 、QIcon 或QPixmap ) |
Qt::EditRole | 2 | 适合在编辑器中进行编辑的数据。(QString ) |
Qt::ToolTipRole | 3 | 显示在项目工具提示中的数据。(QString ) |
Qt::StatusTipRole | 4 | 状态栏中显示的数据。(QString ) |
Qt::WhatsThisRole | 5 | 在“这是什么?”模式下显示的该项目数据。(QString ) |
Qt::SizeHintRole | 13 | 将提供给视图的该项目尺寸提示。(QSize ) |
描述外观和元数据的角色(及相关类型):
| 常量 | 值 | 描述 |
|---|---|---|
Qt::FontRole | 6 | 使用默认委托渲染项目时所用的字体。(QFont ) |
Qt::TextAlignmentRole | 7 | 使用默认委托渲染的项的文本对齐方式。(Qt::Alignment ) |
Qt::BackgroundRole | 8 | 用于通过默认委托渲染的项目所使用的背景画笔。(QBrush ) |
Qt::ForegroundRole | 9 | 用于通过默认委托渲染的项目的前景画笔(通常为文本颜色)。(QBrush) |
Qt::CheckStateRole | 10 | 此角色用于获取项目的选中状态。(Qt::CheckState ) |
Qt::InitialSortOrderRole | 14 | 此角色用于获取标题视图部分的初始排序顺序。(Qt::SortOrder )。 |
辅助功能角色(及其关联类型):
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AccessibleTextRole | 11 | 供辅助功能扩展和插件(如屏幕阅读器)使用的文本。(QString ) |
Qt::AccessibleDescriptionRole | 12 | 为辅助功能目的对该项的描述。(QString ) |
用户角色:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::UserRole | 0x0100 | 可用于应用程序特定用途的首个角色。 |
对于用户角色,开发者可自行决定使用哪些类型,并确保组件在访问和设置数据时使用正确的类型。
enum Qt::ItemFlag
flags Qt::ItemFlags
此枚举描述了项目的属性:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoItemFlags | 0 | 未设置任何属性。 |
Qt::ItemIsSelectable | 1 | 该项目可被选中。 |
Qt::ItemIsEditable | 2 | 可以对其进行编辑。 |
Qt::ItemIsDragEnabled | 4 | 可以拖动。 |
Qt::ItemIsDropEnabled | 8 | 可作为拖放目标。 |
Qt::ItemIsUserCheckable | 16 | 用户可以勾选或取消勾选它。 |
Qt::ItemIsEnabled | 32 | 用户可以与该项目进行交互。 |
Qt::ItemIsAutoTristate | 64 | 该项的状态取决于其子项的状态。这使得QTreeWidget 中父项的状态能够得到自动管理(如果所有子项均被选中,则父项被选中;如果所有子项均未被选中,则父项未被选中;如果只有部分子项被选中,则父项部分选中)。 |
Qt::ItemNeverHasChildren | 128 | 该项永远不会有子项。这仅用于优化目的。 |
Qt::ItemIsUserTristate | 256 | 用户可以在三种独立状态之间循环切换。此功能在 Qt 5.5 中新增。 |
请注意,可选中项需要同时指定一组合适的标志以及初始状态,以指示该项是否被选中。对于模型/视图组件,这会自动处理;但对于QListWidgetItem 、QTableWidgetItem 和QTreeWidgetItem 的实例,则需要显式设置。
请注意,如果某个索引已设置 Qt::ItemNeverHasChildren 标志,而重新实现QAbstractItemModel::hasChildren 时该方法对该索引返回 true,则属于未定义行为。
ItemFlags 类型是QFlags<ItemFlag> 的 typedef。它存储了 ItemFlag 值的按“或”运算组合。
另请参阅 QAbstractItemModel 。
enum Qt::ItemSelectionMode
该枚举用于QGraphicsItem 、QGraphicsScene 和QGraphicsView ,用于指定项目的选择方式,或确定形状与项目之间是否发生碰撞。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ContainsItemShape | 0x0 | 输出列表仅包含其shape 完全位于选择区域内的项目。与该区域轮廓相交的项目不包括在内。 |
Qt::IntersectsItemShape | 0x1 | 输出列表同时包含shape 完全位于选择区域内部的对象,以及与该区域轮廓相交的对象。这是“橡皮筋选择”的常见模式。 |
Qt::ContainsItemBoundingRect | 0x2 | 输出列表仅包含其bounding rectangle 完全位于选区内部的项目。与选区轮廓相交的项目不包含在内。 |
Qt::IntersectsItemBoundingRect | 0x3 | 输出列表同时包含bounding rectangle 完全位于选区内部的项目,以及与选区轮廓相交的项目。此方法通常用于确定需要重绘的区域。 |
另请参阅 QGraphicsScene::items()、QGraphicsScene::collidingItems()、QGraphicsView::items()、QGraphicsItem::collidesWithItem() 以及QGraphicsItem::collidesWithPath()。
enum Qt::ItemSelectionOperation
该枚举用于QGraphicsScene ,用于指定在设置选择区域时对当前选中的项目应如何处理。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ReplaceSelection | 0 | 当前选中的项目将被选择区域中的项目替换。 |
Qt::AddToSelection | 1 | 将选择区域中的项目添加到当前选中的项目中。 |
另请参阅 QGraphicsScene::setSelectionArea()。
enum Qt::Key
Qt.
| 常量 | 值 | 描述 |
|---|---|---|
Qt::Key_Escape | 0x01000000 | |
Qt::Key_Tab | 0x01000001 | |
Qt::Key_Backtab | 0x01000002 | |
Qt::Key_Backspace | 0x01000003 | |
Qt::Key_Return | 0x01000004 | |
Qt::Key_Enter | 0x01000005 | 通常位于键盘上。 |
Qt::Key_Insert | 0x01000006 | |
Qt::Key_Delete | 0x01000007 | |
Qt::Key_Pause | 0x01000008 | 暂停/休息键(注:与媒体播放暂停功能无关) |
Qt::Key_Print | 0x01000009 | |
Qt::Key_SysReq | 0x0100000a | |
Qt::Key_Clear | 0x0100000b | 在部分Apple键盘型号上,该键对应“清除”键。在其他系统中,当Num Lock处于off 状态时,该键通常映射为数字小键盘上的5键。 |
Qt::Key_Home | 0x01000010 | |
Qt::Key_End | 0x01000011 | |
Qt::Key_Left | 0x01000012 | |
Qt::Key_Up | 0x01000013 | |
Qt::Key_Right | 0x01000014 | |
Qt::Key_Down | 0x01000015 | |
Qt::Key_PageUp | 0x01000016 | |
Qt::Key_PageDown | 0x01000017 | |
Qt::Key_Shift | 0x01000020 | |
Qt::Key_Control | 0x01000021 | 在 macOS 上,这对应于 Command 键。 |
Qt::Key_Meta | 0x01000022 | 在 macOS 上,这对应于 Control 键。在 Windows 键盘上,该键被映射为 Windows 键。 |
Qt::Key_Alt | 0x01000023 | |
Qt::Key_AltGr | 0x01001103 | 在 Windows 系统中,当发送此键的 `KeyDown ` 事件时,也会同时设置 Ctrl+Alt 修饰键。 |
Qt::Key_CapsLock | 0x01000024 | |
Qt::Key_NumLock | 0x01000025 | |
Qt::Key_ScrollLock | 0x01000026 | |
Qt::Key_F1 | 0x01000030 | |
Qt::Key_F2 | 0x01000031 | |
Qt::Key_F3 | 0x01000032 | |
Qt::Key_F4 | 0x01000033 | |
Qt::Key_F5 | 0x01000034 | |
Qt::Key_F6 | 0x01000035 | |
Qt::Key_F7 | 0x01000036 | |
Qt::Key_F8 | 0x01000037 | |
Qt::Key_F9 | 0x01000038 | |
Qt::Key_F10 | 0x01000039 | |
Qt::Key_F11 | 0x0100003a | |
Qt::Key_F12 | 0x0100003b | |
Qt::Key_F13 | 0x0100003c | |
Qt::Key_F14 | 0x0100003d | |
Qt::Key_F15 | 0x0100003e | |
Qt::Key_F16 | 0x0100003f | |
Qt::Key_F17 | 0x01000040 | |
Qt::Key_F18 | 0x01000041 | |
Qt::Key_F19 | 0x01000042 | |
Qt::Key_F20 | 0x01000043 | |
Qt::Key_F21 | 0x01000044 | |
Qt::Key_F22 | 0x01000045 | |
Qt::Key_F23 | 0x01000046 | |
Qt::Key_F24 | 0x01000047 | |
Qt::Key_F25 | 0x01000048 | |
Qt::Key_F26 | 0x01000049 | |
Qt::Key_F27 | 0x0100004a | |
Qt::Key_F28 | 0x0100004b | |
Qt::Key_F29 | 0x0100004c | |
Qt::Key_F30 | 0x0100004d | |
Qt::Key_F31 | 0x0100004e | |
Qt::Key_F32 | 0x0100004f | |
Qt::Key_F33 | 0x01000050 | |
Qt::Key_F34 | 0x01000051 | |
Qt::Key_F35 | 0x01000052 | |
Qt::Key_Super_L | 0x01000053 | |
Qt::Key_Super_R | 0x01000054 | |
Qt::Key_Menu | 0x01000055 | |
Qt::Key_Hyper_L | 0x01000056 | |
Qt::Key_Hyper_R | 0x01000057 | |
Qt::Key_Help | 0x01000058 | |
Qt::Key_Direction_L | 0x01000059 | |
Qt::Key_Direction_R | 0x01000060 | |
Qt::Key_Space | 0x20 | |
Qt::Key_Any | Key_Space | |
Qt::Key_Exclam | 0x21 | |
Qt::Key_QuoteDbl | 0x22 | |
Qt::Key_NumberSign | 0x23 | |
Qt::Key_Dollar | 0x24 | |
Qt::Key_Percent | 0x25 | |
Qt::Key_Ampersand | 0x26 | |
Qt::Key_Apostrophe | 0x27 | |
Qt::Key_ParenLeft | 0x28 | |
Qt::Key_ParenRight | 0x29 | |
Qt::Key_Asterisk | 0x2a | |
Qt::Key_Plus | 0x2b | |
Qt::Key_Comma | 0x2c | |
Qt::Key_Minus | 0x2d | |
Qt::Key_Period | 0x2e | |
Qt::Key_Slash | 0x2f | |
Qt::Key_0 | 0x30 | |
Qt::Key_1 | 0x31 | |
Qt::Key_2 | 0x32 | |
Qt::Key_3 | 0x33 | |
Qt::Key_4 | 0x34 | |
Qt::Key_5 | 0x35 | |
Qt::Key_6 | 0x36 | |
Qt::Key_7 | 0x37 | |
Qt::Key_8 | 0x38 | |
Qt::Key_9 | 0x39 | |
Qt::Key_Colon | 0x3a | |
Qt::Key_Semicolon | 0x3b | |
Qt::Key_Less | 0x3c | |
Qt::Key_Equal | 0x3d | |
Qt::Key_Greater | 0x3e | |
Qt::Key_Question | 0x3f | |
Qt::Key_At | 0x40 | |
Qt::Key_A | 0x41 | |
Qt::Key_B | 0x42 | |
Qt::Key_C | 0x43 | |
Qt::Key_D | 0x44 | |
Qt::Key_E | 0x45 | |
Qt::Key_F | 0x46 | |
Qt::Key_G | 0x47 | |
Qt::Key_H | 0x48 | |
Qt::Key_I | 0x49 | |
Qt::Key_J | 0x4a | |
Qt::Key_K | 0x4b | |
Qt::Key_L | 0x4c | |
Qt::Key_M | 0x4d | |
Qt::Key_N | 0x4e | |
Qt::Key_O | 0x4f | |
Qt::Key_P | 0x50 | |
Qt::Key_Q | 0x51 | |
Qt::Key_R | 0x52 | |
Qt::Key_S | 0x53 | |
Qt::Key_T | 0x54 | |
Qt::Key_U | 0x55 | |
Qt::Key_V | 0x56 | |
Qt::Key_W | 0x57 | |
Qt::Key_X | 0x58 | |
Qt::Key_Y | 0x59 | |
Qt::Key_Z | 0x5a | |
Qt::Key_BracketLeft | 0x5b | |
Qt::Key_Backslash | 0x5c | |
Qt::Key_BracketRight | 0x5d | |
Qt::Key_AsciiCircum | 0x5e | |
Qt::Key_Underscore | 0x5f | |
Qt::Key_QuoteLeft | 0x60 | |
Qt::Key_BraceLeft | 0x7b | |
Qt::Key_Bar | 0x7c | |
Qt::Key_BraceRight | 0x7d | |
Qt::Key_AsciiTilde | 0x7e | |
Qt::Key_nobreakspace | 0x0a0 | |
Qt::Key_exclamdown | 0x0a1 | |
Qt::Key_cent | 0x0a2 | |
Qt::Key_sterling | 0x0a3 | |
Qt::Key_currency | 0x0a4 | |
Qt::Key_yen | 0x0a5 | |
Qt::Key_brokenbar | 0x0a6 | |
Qt::Key_section | 0x0a7 | |
Qt::Key_diaeresis | 0x0a8 | |
Qt::Key_copyright | 0x0a9 | |
Qt::Key_ordfeminine | 0x0aa | |
Qt::Key_guillemotleft | 0x0ab | |
Qt::Key_notsign | 0x0ac | |
Qt::Key_hyphen | 0x0ad | |
Qt::Key_registered | 0x0ae | |
Qt::Key_macron | 0x0af | |
Qt::Key_degree | 0x0b0 | |
Qt::Key_plusminus | 0x0b1 | |
Qt::Key_twosuperior | 0x0b2 | |
Qt::Key_threesuperior | 0x0b3 | |
Qt::Key_acute | 0x0b4 | |
Qt::Key_micro (since Qt 6.7) | 0x0b5 | |
Qt::Key_mu | Key_micro | Key_micro 的已弃用别名 |
Qt::Key_paragraph | 0x0b6 | |
Qt::Key_periodcentered | 0x0b7 | |
Qt::Key_cedilla | 0x0b8 | |
Qt::Key_onesuperior | 0x0b9 | |
Qt::Key_masculine | 0x0ba | |
Qt::Key_guillemotright | 0x0bb | |
Qt::Key_onequarter | 0x0bc | |
Qt::Key_onehalf | 0x0bd | |
Qt::Key_threequarters | 0x0be | |
Qt::Key_questiondown | 0x0bf | |
Qt::Key_Agrave | 0x0c0 | |
Qt::Key_Aacute | 0x0c1 | |
Qt::Key_Acircumflex | 0x0c2 | |
Qt::Key_Atilde | 0x0c3 | |
Qt::Key_Adiaeresis | 0x0c4 | |
Qt::Key_Aring | 0x0c5 | |
Qt::Key_AE | 0x0c6 | |
Qt::Key_Ccedilla | 0x0c7 | |
Qt::Key_Egrave | 0x0c8 | |
Qt::Key_Eacute | 0x0c9 | |
Qt::Key_Ecircumflex | 0x0ca | |
Qt::Key_Ediaeresis | 0x0cb | |
Qt::Key_Igrave | 0x0cc | |
Qt::Key_Iacute | 0x0cd | |
Qt::Key_Icircumflex | 0x0ce | |
Qt::Key_Idiaeresis | 0x0cf | |
Qt::Key_ETH | 0x0d0 | |
Qt::Key_Ntilde | 0x0d1 | |
Qt::Key_Ograve | 0x0d2 | |
Qt::Key_Oacute | 0x0d3 | |
Qt::Key_Ocircumflex | 0x0d4 | |
Qt::Key_Otilde | 0x0d5 | |
Qt::Key_Odiaeresis | 0x0d6 | |
Qt::Key_multiply | 0x0d7 | |
Qt::Key_Ooblique | 0x0d8 | |
Qt::Key_Ugrave | 0x0d9 | |
Qt::Key_Uacute | 0x0da | |
Qt::Key_Ucircumflex | 0x0db | |
Qt::Key_Udiaeresis | 0x0dc | |
Qt::Key_Yacute | 0x0dd | |
Qt::Key_THORN | 0x0de | |
Qt::Key_ssharp | 0x0df | |
Qt::Key_division | 0x0f7 | |
Qt::Key_ydiaeresis | 0x0ff | |
Qt::Key_Multi_key | 0x01001120 | |
Qt::Key_Codeinput | 0x01001137 | |
Qt::Key_SingleCandidate | 0x0100113c | |
Qt::Key_MultipleCandidate | 0x0100113d | |
Qt::Key_PreviousCandidate | 0x0100113e | |
Qt::Key_Mode_switch | 0x0100117e | |
Qt::Key_Kanji | 0x01001121 | |
Qt::Key_Muhenkan | 0x01001122 | |
Qt::Key_Henkan | 0x01001123 | |
Qt::Key_Romaji | 0x01001124 | |
Qt::Key_Hiragana | 0x01001125 | |
Qt::Key_Katakana | 0x01001126 | |
Qt::Key_Hiragana_Katakana | 0x01001127 | |
Qt::Key_Zenkaku | 0x01001128 | |
Qt::Key_Hankaku | 0x01001129 | |
Qt::Key_Zenkaku_Hankaku | 0x0100112a | |
Qt::Key_Touroku | 0x0100112b | |
Qt::Key_Massyo | 0x0100112c | |
Qt::Key_Kana_Lock | 0x0100112d | |
Qt::Key_Kana_Shift | 0x0100112e | |
Qt::Key_Eisu_Shift | 0x0100112f | |
Qt::Key_Eisu_toggle | 0x01001130 | |
Qt::Key_Hangul | 0x01001131 | |
Qt::Key_Hangul_Start | 0x01001132 | |
Qt::Key_Hangul_End | 0x01001133 | |
Qt::Key_Hangul_Hanja | 0x01001134 | |
Qt::Key_Hangul_Jamo | 0x01001135 | |
Qt::Key_Hangul_Romaja | 0x01001136 | |
Qt::Key_Hangul_Jeonja | 0x01001138 | |
Qt::Key_Hangul_Banja | 0x01001139 | |
Qt::Key_Hangul_PreHanja | 0x0100113a | |
Qt::Key_Hangul_PostHanja | 0x0100113b | |
Qt::Key_Hangul_Special | 0x0100113f | |
Qt::Key_Dead_Grave | 0x01001250 | |
Qt::Key_Dead_Acute | 0x01001251 | |
Qt::Key_Dead_Circumflex | 0x01001252 | |
Qt::Key_Dead_Tilde | 0x01001253 | |
Qt::Key_Dead_Macron | 0x01001254 | |
Qt::Key_Dead_Breve | 0x01001255 | |
Qt::Key_Dead_Abovedot | 0x01001256 | |
Qt::Key_Dead_Diaeresis | 0x01001257 | |
Qt::Key_Dead_Abovering | 0x01001258 | |
Qt::Key_Dead_Doubleacute | 0x01001259 | |
Qt::Key_Dead_Caron | 0x0100125a | |
Qt::Key_Dead_Cedilla | 0x0100125b | |
Qt::Key_Dead_Ogonek | 0x0100125c | |
Qt::Key_Dead_Iota | 0x0100125d | |
Qt::Key_Dead_Voiced_Sound | 0x0100125e | |
Qt::Key_Dead_Semivoiced_Sound | 0x0100125f | |
Qt::Key_Dead_Belowdot | 0x01001260 | |
Qt::Key_Dead_Hook | 0x01001261 | |
Qt::Key_Dead_Horn | 0x01001262 | |
Qt::Key_Dead_Stroke | 0x01001263 | |
Qt::Key_Dead_Abovecomma | 0x01001264 | |
Qt::Key_Dead_Abovereversedcomma | 0x01001265 | |
Qt::Key_Dead_Doublegrave | 0x01001266 | |
Qt::Key_Dead_Belowring | 0x01001267 | |
Qt::Key_Dead_Belowmacron | 0x01001268 | |
Qt::Key_Dead_Belowcircumflex | 0x01001269 | |
Qt::Key_Dead_Belowtilde | 0x0100126a | |
Qt::Key_Dead_Belowbreve | 0x0100126b | |
Qt::Key_Dead_Belowdiaeresis | 0x0100126c | |
Qt::Key_Dead_Invertedbreve | 0x0100126d | |
Qt::Key_Dead_Belowcomma | 0x0100126e | |
Qt::Key_Dead_Currency | 0x0100126f | |
Qt::Key_Dead_a | 0x01001280 | |
Qt::Key_Dead_A | 0x01001281 | |
Qt::Key_Dead_e | 0x01001282 | |
Qt::Key_Dead_E | 0x01001283 | |
Qt::Key_Dead_i | 0x01001284 | |
Qt::Key_Dead_I | 0x01001285 | |
Qt::Key_Dead_o | 0x01001286 | |
Qt::Key_Dead_O | 0x01001287 | |
Qt::Key_Dead_u | 0x01001288 | |
Qt::Key_Dead_U | 0x01001289 | |
Qt::Key_Dead_Small_Schwa | 0x0100128a | |
Qt::Key_Dead_Capital_Schwa | 0x0100128b | |
Qt::Key_Dead_Greek | 0x0100128c | |
Qt::Key_Dead_Lowline | 0x01001290 | |
Qt::Key_Dead_Aboveverticalline | 0x01001291 | |
Qt::Key_Dead_Belowverticalline | 0x01001292 | |
Qt::Key_Dead_Longsolidusoverlay | 0x01001293 | |
Qt::Key_Back | 0x01000061 | |
Qt::Key_Forward | 0x01000062 | |
Qt::Key_Stop | 0x01000063 | |
Qt::Key_Refresh | 0x01000064 | |
Qt::Key_VolumeDown | 0x01000070 | |
Qt::Key_VolumeMute | 0x01000071 | |
Qt::Key_VolumeUp | 0x01000072 | |
Qt::Key_BassBoost | 0x01000073 | |
Qt::Key_BassUp | 0x01000074 | |
Qt::Key_BassDown | 0x01000075 | |
Qt::Key_TrebleUp | 0x01000076 | |
Qt::Key_TrebleDown | 0x01000077 | |
Qt::Key_MediaPlay | 0x01000080 | 一个用于将媒体播放器状态设置为播放的关键设置 |
Qt::Key_MediaStop | 0x01000081 | 用于将媒体播放器状态设置为停止的按键 |
Qt::Key_MediaPrevious | 0x01000082 | |
Qt::Key_MediaNext | 0x01000083 | |
Qt::Key_MediaRecord | 0x01000084 | |
Qt::Key_MediaPause | 0x01000085 | 将媒体播放器状态设为暂停的键(注:非暂停/中断键) |
Qt::Key_MediaTogglePlayPause | 0x01000086 | 用于在媒体播放器中切换播放/暂停状态的按键(而非设置绝对状态) |
Qt::Key_HomePage | 0x01000090 | |
Qt::Key_Favorites | 0x01000091 | |
Qt::Key_Search | 0x01000092 | |
Qt::Key_Standby | 0x01000093 | |
Qt::Key_OpenUrl | 0x01000094 | |
Qt::Key_LaunchMail | 0x010000a0 | |
Qt::Key_LaunchMedia | 0x010000a1 | |
Qt::Key_Launch0 | 0x010000a2 | |
Qt::Key_Launch1 | 0x010000a3 | |
Qt::Key_Launch2 | 0x010000a4 | |
Qt::Key_Launch3 | 0x010000a5 | |
Qt::Key_Launch4 | 0x010000a6 | |
Qt::Key_Launch5 | 0x010000a7 | |
Qt::Key_Launch6 | 0x010000a8 | |
Qt::Key_Launch7 | 0x010000a9 | |
Qt::Key_Launch8 | 0x010000aa | |
Qt::Key_Launch9 | 0x010000ab | |
Qt::Key_LaunchA | 0x010000ac | |
Qt::Key_LaunchB | 0x010000ad | |
Qt::Key_LaunchC | 0x010000ae | |
Qt::Key_LaunchD | 0x010000af | |
Qt::Key_LaunchE | 0x010000b0 | |
Qt::Key_LaunchF | 0x010000b1 | |
Qt::Key_LaunchG | 0x0100010e | |
Qt::Key_LaunchH | 0x0100010f | |
Qt::Key_MonBrightnessUp | 0x010000b2 | |
Qt::Key_MonBrightnessDown | 0x010000b3 | |
Qt::Key_KeyboardLightOnOff | 0x010000b4 | |
Qt::Key_KeyboardBrightnessUp | 0x010000b5 | |
Qt::Key_KeyboardBrightnessDown | 0x010000b6 | |
Qt::Key_PowerOff | 0x010000b7 | |
Qt::Key_WakeUp | 0x010000b8 | |
Qt::Key_Eject | 0x010000b9 | |
Qt::Key_ScreenSaver | 0x010000ba | |
Qt::Key_WWW | 0x010000bb | |
Qt::Key_Memo | 0x010000bc | |
Qt::Key_LightBulb | 0x010000bd | |
Qt::Key_Shop | 0x010000be | |
Qt::Key_History | 0x010000bf | |
Qt::Key_AddFavorite | 0x010000c0 | |
Qt::Key_HotLinks | 0x010000c1 | |
Qt::Key_BrightnessAdjust | 0x010000c2 | |
Qt::Key_Finance | 0x010000c3 | |
Qt::Key_Community | 0x010000c4 | |
Qt::Key_AudioRewind | 0x010000c5 | |
Qt::Key_BackForward | 0x010000c6 | |
Qt::Key_ApplicationLeft | 0x010000c7 | |
Qt::Key_ApplicationRight | 0x010000c8 | |
Qt::Key_Book | 0x010000c9 | |
Qt::Key_CD | 0x010000ca | |
Qt::Key_Calculator | 0x010000cb | |
Qt::Key_ToDoList | 0x010000cc | |
Qt::Key_ClearGrab | 0x010000cd | |
Qt::Key_Close | 0x010000ce | |
Qt::Key_Copy | 0x010000cf | |
Qt::Key_Cut | 0x010000d0 | |
Qt::Key_Display | 0x010000d1 | |
Qt::Key_DOS | 0x010000d2 | |
Qt::Key_Documents | 0x010000d3 | |
Qt::Key_Excel | 0x010000d4 | |
Qt::Key_Explorer | 0x010000d5 | |
Qt::Key_Game | 0x010000d6 | |
Qt::Key_Go | 0x010000d7 | |
Qt::Key_iTouch | 0x010000d8 | |
Qt::Key_LogOff | 0x010000d9 | |
Qt::Key_Market | 0x010000da | |
Qt::Key_Meeting | 0x010000db | |
Qt::Key_MenuKB | 0x010000dc | |
Qt::Key_MenuPB | 0x010000dd | |
Qt::Key_MySites | 0x010000de | |
Qt::Key_News | 0x010000df | |
Qt::Key_OfficeHome | 0x010000e0 | |
Qt::Key_Option | 0x010000e1 | |
Qt::Key_Paste | 0x010000e2 | |
Qt::Key_Phone | 0x010000e3 | |
Qt::Key_Calendar | 0x010000e4 | |
Qt::Key_Reply | 0x010000e5 | |
Qt::Key_Reload | 0x010000e6 | |
Qt::Key_RotateWindows | 0x010000e7 | |
Qt::Key_RotationPB | 0x010000e8 | |
Qt::Key_RotationKB | 0x010000e9 | |
Qt::Key_Save | 0x010000ea | |
Qt::Key_Send | 0x010000eb | |
Qt::Key_Spell | 0x010000ec | |
Qt::Key_SplitScreen | 0x010000ed | |
Qt::Key_Support | 0x010000ee | |
Qt::Key_TaskPane | 0x010000ef | |
Qt::Key_Terminal | 0x010000f0 | |
Qt::Key_Tools | 0x010000f1 | |
Qt::Key_Travel | 0x010000f2 | |
Qt::Key_Video | 0x010000f3 | |
Qt::Key_Word | 0x010000f4 | |
Qt::Key_Xfer | 0x010000f5 | |
Qt::Key_ZoomIn | 0x010000f6 | |
Qt::Key_ZoomOut | 0x010000f7 | |
Qt::Key_Away | 0x010000f8 | |
Qt::Key_Messenger | 0x010000f9 | |
Qt::Key_WebCam | 0x010000fa | |
Qt::Key_MailForward | 0x010000fb | |
Qt::Key_Pictures | 0x010000fc | |
Qt::Key_Music | 0x010000fd | |
Qt::Key_Battery | 0x010000fe | |
Qt::Key_Bluetooth | 0x010000ff | |
Qt::Key_WLAN | 0x01000100 | |
Qt::Key_UWB | 0x01000101 | |
Qt::Key_AudioForward | 0x01000102 | |
Qt::Key_AudioRepeat | 0x01000103 | |
Qt::Key_AudioRandomPlay | 0x01000104 | |
Qt::Key_Subtitle | 0x01000105 | |
Qt::Key_AudioCycleTrack | 0x01000106 | |
Qt::Key_Time | 0x01000107 | |
Qt::Key_Hibernate | 0x01000108 | |
Qt::Key_View | 0x01000109 | |
Qt::Key_TopMenu | 0x0100010a | |
Qt::Key_PowerDown | 0x0100010b | |
Qt::Key_Suspend | 0x0100010c | |
Qt::Key_ContrastAdjust | 0x0100010d | |
Qt::Key_TouchpadToggle | 0x01000110 | |
Qt::Key_TouchpadOn | 0x01000111 | |
Qt::Key_TouchpadOff | 0x01000112 | |
Qt::Key_MicMute | 0x01000113 | |
Qt::Key_Red | 0x01000114 | |
Qt::Key_Green | 0x01000115 | |
Qt::Key_Yellow | 0x01000116 | |
Qt::Key_Blue | 0x01000117 | |
Qt::Key_ChannelUp | 0x01000118 | |
Qt::Key_ChannelDown | 0x01000119 | |
Qt::Key_Guide | 0x0100011a | |
Qt::Key_Info | 0x0100011b | |
Qt::Key_Settings | 0x0100011c | |
Qt::Key_MicVolumeUp | 0x0100011d | |
Qt::Key_MicVolumeDown | 0x0100011e | |
Qt::Key_Keyboard | 0x0100011f | |
Qt::Key_New | 0x01000120 | |
Qt::Key_Open | 0x01000121 | |
Qt::Key_Find | 0x01000122 | |
Qt::Key_Undo | 0x01000123 | |
Qt::Key_Redo | 0x01000124 | |
Qt::Key_MediaLast | 0x0100ffff | |
Qt::Key_unknown | 0x01ffffff | |
Qt::Key_Call | 0x01100004 | 用于接听或发起通话的按键(有关用于切换当前通话状态的按键,请参见 Qt::Key_ToggleCallHangup) |
Qt::Key_Camera | 0x01100020 | 用于激活相机快门的按键。在 Windows Runtime 环境中,必须设置环境变量 QT_QPA_ENABLE_CAMERA_KEYS 才能接收该事件。 |
Qt::Key_CameraFocus | 0x01100021 | 用于对焦摄像头的按键。在 Windows Runtime 环境中,必须设置环境变量 QT_QPA_ENABLE_CAMERA_KEYS 才能接收该事件。 |
Qt::Key_Context1 | 0x01100000 | |
Qt::Key_Context2 | 0x01100001 | |
Qt::Key_Context3 | 0x01100002 | |
Qt::Key_Context4 | 0x01100003 | |
Qt::Key_Flip | 0x01100006 | |
Qt::Key_Hangup | 0x01100005 | 用于结束当前通话的按键(有关用于切换当前通话状态的按键,请参阅 Qt::Key_ToggleCallHangup) |
Qt::Key_No | 0x01010002 | |
Qt::Key_Select | 0x01010000 | |
Qt::Key_Yes | 0x01010001 | |
Qt::Key_ToggleCallHangup | 0x01100007 | 一个用于根据当前通话状态切换当前通话状态(即接听或挂断)的按键 |
Qt::Key_VoiceDial | 0x01100008 | |
Qt::Key_LastNumberRedial | 0x01100009 | |
Qt::Key_Execute | 0x01020003 | |
Qt::Key_Printer | 0x01020002 | |
Qt::Key_Play | 0x01020005 | |
Qt::Key_Sleep | 0x01020004 | |
Qt::Key_Zoom | 0x01020006 | |
Qt::Key_Exit | 0x0102000a | |
Qt::Key_Cancel | 0x01020001 |
另请参阅 QKeyEvent::key()。
enum Qt::KeyboardModifier
flags Qt::KeyboardModifiers
此枚举描述了修饰键。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoModifier | 0x00000000 | 未按下任何修饰键。 |
Qt::ShiftModifier | 0x02000000 | 键盘上的 Shift 键被按下。 |
Qt::ControlModifier | 0x04000000 | 按下了键盘上的 Ctrl 键。 |
Qt::AltModifier | 0x08000000 | 键盘上的 Alt 键被按下。 |
Qt::MetaModifier | 0x10000000 | 键盘上的 Meta 键被按下。 |
Qt::KeypadModifier | 0x20000000 | 按下了数字小键盘上的按钮。 |
Qt::GroupSwitchModifier | 0x40000000 | 仅限 X11(除非在 Windows 上通过命令行参数激活)。按下了键盘上的 Mode_switch 键。 注意:在 macOS上 , 注意:在 Windows 键盘上 ,Qt::MetaModifier 和Qt::Key_Meta 被映射为 Windows 键。 |
KeyboardModifiers 类型是QFlags<KeyboardModifier> 的 typedef。它存储 KeyboardModifier 值的按“或”运算组合。
另请参阅 MouseButton 和Modifier 。
enum Qt::LayoutDirection
指定 Qt 布局和文本处理的方向。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::LeftToRight | 0 | 从左到右的布局。 |
Qt::RightToLeft | 1 | 从右到左的布局。 |
Qt::LayoutDirectionAuto | 2 | 自动布局。 |
对于某些语言(尤其是阿拉伯语和希伯来语),必须使用从右到左的布局。
LayoutDirectionAuto 有两个用途。当与小部件和布局结合使用时,它将默认使用父级小部件或 `QApplication` 上设置的布局方向。这与 `QWidget::unsetLayoutDirection()` 具有相同的效果。
当 LayoutDirectionAuto 与文本排版结合使用时,它将表示文本方向由待排版的字符串内容决定。
另请参阅 QGuiApplication::setLayoutDirection()、QWidget::setLayoutDirection()、QTextOption::setTextDirection() 以及QString::isRightToLeft()。
enum Qt::MaskMode
此枚举指定了QPixmap::createMaskFromColor() 和QImage::createMaskFromColor() 函数的行为。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MaskInColor | 0 | 创建一个蒙版,其中所有与给定颜色匹配的像素均为不透明。 |
Qt::MaskOutColor | 1 | 创建一个蒙版,其中所有与给定颜色匹配的像素均为透明。 |
enum Qt::MatchFlag
flags Qt::MatchFlags
此枚举描述了在模型中搜索项目时可使用的匹配类型。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MatchExactly | 0 | 执行基于QVariant 的匹配。 |
Qt::MatchFixedString | 8 | 执行基于MatchCaseSensitive 的匹配。除非同时指定了 标志,否则基于字符串的比较不区分大小写。 |
Qt::MatchContains | 1 | 搜索词包含在该项目中。 |
Qt::MatchStartsWith | 2 | 搜索词与项目的开头匹配。 |
Qt::MatchEndsWith | 3 | 搜索词与该项的末尾匹配。 |
Qt::MatchCaseSensitive | 16 | 搜索区分大小写。 |
Qt::MatchRegularExpression | 4 | 使用正则表达式作为搜索词执行基于字符串的匹配。使用QRegularExpression 。使用此标志时,可以将QRegularExpression 对象作为参数传递,并直接用于执行搜索。由于预期QRegularExpression 对象已完全配置,因此将忽略区分大小写的标志。此枚举值在Qt 5.15中添加。 |
Qt::MatchWildcard | 5 | 使用包含通配符的字符串作为搜索词,执行基于字符串的匹配。 |
Qt::MatchWrap | 32 | 执行循环搜索,即当搜索到达模型中的最后一个项目时,将从第一个项目重新开始,并持续进行直至所有项目均被检查完毕。 |
Qt::MatchRecursive | 64 | 搜索整个层次结构。 注意: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::SHIFT | Qt::ShiftModifier | 所有标准键盘上都提供的 Shift 键。 |
Qt::META | Qt::MetaModifier | Meta 键。 |
Qt::CTRL | Qt::ControlModifier | Ctrl 键。 |
Qt::ALT | Qt::AltModifier | 普通 Alt 键,但不包括 AltGr 等键。 |
Modifiers 类型是QFlags<Modifier> 的 typedef。它存储 Modifier 值的按“或”运算组合。
另请参阅 KeyboardModifier 和MouseButton 。
[since 6.12] enum class Qt::MotionPreference
表示用户对动画和动作的首选设置。控件、样式和应用程序可根据枚举值限制动画数量,从而遵循此设置。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MotionPreference::NoPreference | 0 | 无特定偏好。 |
Qt::MotionPreference::ReducedMotion | 1 | 用户希望用户界面中的动画更少。 |
该枚举类型在 Qt 6.12 中引入。
enum Qt::MouseButton
flags Qt::MouseButtons
该枚举类型用于描述不同的鼠标按钮。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoButton | 0x00000000 | 该按钮状态不指向任何特定按钮(参见QMouseEvent::button())。 |
Qt::AllButtons | 0x07ffffff | 该值对应于所有可能鼠标按钮的掩码。用于设置MouseArea 的 'acceptedButtons' 属性,以接受所有鼠标按钮。 |
Qt::LeftButton | 0x00000001 | 左键被按下,或者事件涉及左键。(在左撇子鼠标上,左键可能是右键。) |
Qt::RightButton | 0x00000002 | 右键。 |
Qt::MiddleButton | 0x00000004 | 中键。 |
Qt::BackButton | 0x00000008 | “返回”按钮。(通常位于带有额外按钮的鼠标“拇指”一侧。这并非倾斜滚轮。) |
Qt::XButton1 | BackButton | “返回”按钮。 |
Qt::ExtraButton1 | XButton1 | “后退”按钮。 |
Qt::ForwardButton | 0x00000010 | “前进”按钮。(通常位于“后退”按钮旁边,同样由拇指按压。) |
Qt::XButton2 | ForwardButton | “前进”按钮。 |
Qt::ExtraButton2 | ForwardButton | “前进”按钮。 |
Qt::TaskButton | 0x00000020 | “任务”按钮。 |
Qt::ExtraButton3 | TaskButton | “任务”按钮。 |
Qt::ExtraButton4 | 0x00000040 | 第 7 个非滚轮鼠标按钮。 |
Qt::ExtraButton5 | 0x00000080 | 第 8 个非滚轮鼠标按钮。 |
Qt::ExtraButton6 | 0x00000100 | 第 9 个非滚轮鼠标按钮。 |
Qt::ExtraButton7 | 0x00000200 | 第 10 个非滚轮鼠标按钮。 |
Qt::ExtraButton8 | 0x00000400 | 第11个非滚轮鼠标按钮。 |
Qt::ExtraButton9 | 0x00000800 | 第 12 个非滚轮鼠标按钮。 |
Qt::ExtraButton10 | 0x00001000 | 第 13 个非滚轮鼠标按钮。 |
Qt::ExtraButton11 | 0x00002000 | 第 14 个非滚轮鼠标按钮。 |
Qt::ExtraButton12 | 0x00004000 | 第 15 个非滚轮鼠标按钮。 |
Qt::ExtraButton13 | 0x00008000 | 第 16 个非滚轮鼠标按钮。 |
Qt::ExtraButton14 | 0x00010000 | 第 17 个非滚轮鼠标按钮。 |
Qt::ExtraButton15 | 0x00020000 | 第 18 个非滚轮鼠标按钮。 |
Qt::ExtraButton16 | 0x00040000 | 第 19 个非滚轮鼠标按钮。 |
Qt::ExtraButton17 | 0x00080000 | 第 20 个非滚轮鼠标按钮。 |
Qt::ExtraButton18 | 0x00100000 | 第 21 个非滚轮鼠标按钮。 |
Qt::ExtraButton19 | 0x00200000 | 第22个非滚轮鼠标按钮。 |
Qt::ExtraButton20 | 0x00400000 | 第 23 个非滚轮鼠标按钮。 |
Qt::ExtraButton21 | 0x00800000 | 第 24 个非滚轮鼠标按钮。 |
Qt::ExtraButton22 | 0x01000000 | 第25个非滚轮鼠标按钮。 |
Qt::ExtraButton23 | 0x02000000 | 第 26 个非滚轮鼠标按钮。 |
Qt::ExtraButton24 | 0x04000000 | 第 27 个非滚轮鼠标按钮。 注意:某些 多键鼠标型号预设了高编号按键,用于模拟键盘序列,以便在特定游戏中使用。若要使这些按键被识别为真正的“鼠标按键”,必须重新配置该设备(使用厂商提供的配置工具)。 |
MouseButtons 类型是QFlags<MouseButton> 的 typedef。它存储 MouseButton 值的按“或”运算组合。
另请参阅 KeyboardModifier 和Modifier 。
enum Qt::MouseEventFlag
flags Qt::MouseEventFlags
此枚举提供了有关“QMouseEvent ”的附加信息。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MouseEventCreatedDoubleClick | 0x01 | 表示 Qt 已从该事件创建了一个MouseButtonDblClick 事件。该标志设置在引发该事件的MouseButtonPress 中,而不是在结果的MouseButtonDblClick 中。 |
MouseEventFlags 类型是QFlags<MouseEventFlag> 的 typedef。它存储 MouseEventFlag 值的按“或”运算组合。
enum Qt::MouseEventSource
此枚举描述了鼠标事件的来源,可用于判断该事件是否为源自其他设备(如触摸屏)的人工鼠标事件。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MouseEventNotSynthesized | 0 | 最常见的值。在可获取此类信息的平台上,该值表示该事件是系统响应真实的鼠标事件而生成的。 |
Qt::MouseEventSynthesizedBySystem | 1 | 表示该鼠标事件是由平台从触摸事件合成而来的。 |
Qt::MouseEventSynthesizedByQt | 2 | 表示该鼠标事件是由 Qt 从未处理的触摸事件合成而成的。 |
Qt::MouseEventSynthesizedByApplication | 3 | 表示该鼠标事件是由应用程序合成的。这使得能够将应用程序生成的鼠标事件与来自系统或由 Qt 合成的鼠标事件区分开来。该值在 Qt 5.6 中引入 |
另请参阅 Qt::AA_SynthesizeMouseForUnhandledTouchEvents 。
enum Qt::NativeGestureType
此枚举返回手势类型。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::BeginNativeGesture | 0 | 在手势事件流之前发送。 |
Qt::EndNativeGesture | 1 | 在手势事件流之后发送。 |
Qt::PanNativeGesture | 2 | 指定以像素为单位的位移增量。 |
Qt::ZoomNativeGesture | 3 | 指定以百分比为单位的放大倍率增量。 |
Qt::SmartZoomNativeGesture | 4 | 布尔型缩放状态。 |
Qt::RotateNativeGesture | 5 | 指定旋转增量(单位:度)。 |
Qt::SwipeNativeGesture | 6 | 在滑动操作之后发送。 |
enum Qt::Orientation
flags Qt::Orientations
该类型用于表示对象的朝向。
| 常量 | 值 |
|---|---|
Qt::Horizontal | 0x1 |
Qt::Vertical | 0x2 |
例如,Orientation 可与 `QScrollBar ` 配合使用。
Orientations 类型是QFlags<Orientation> 的 typedef。它存储 Orientation 值的按“或”运算组合。
enum Qt::PenCapStyle
该枚举类型定义了Qt支持的笔尖样式,即可以通过QPainter 绘制的线条末端样式。
![]() | ![]() | ![]() |
| Qt::SquareCap | Qt::FlatCap | Qt::RoundCap |
| 常量 | 值 | 描述 |
|---|---|---|
Qt::FlatCap | 0x00 | 一个不覆盖线段终点的方形线端。 |
Qt::SquareCap | 0x10 | 一种方头线端,它覆盖线段端点并向外延伸,延伸长度为线宽的一半。 |
Qt::RoundCap | 0x20 | 圆角线端。 |
另请参见 QPen 。
enum Qt::PenJoinStyle
该枚举类型定义了 Qt 支持的笔画连接样式,即可以使用 `QPainter` 绘制哪种连接两条相邻直线的连接样式。
![]() | ![]() | ![]() |
| Qt::BevelJoin | Qt::MiterJoin | Qt::RoundJoin |
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MiterJoin | 0x00 | 线条的外边缘被延伸至以一定角度相交,并填充该区域。 |
Qt::BevelJoin | 0x40 | 两条线之间的三角形缺口被填充。 |
Qt::RoundJoin | 0x80 | 两条线之间的圆弧被填充。 |
Qt::SvgMiterJoin | 0x100 | 一种符合SVG 1.2 Tiny规范中对“斜接”定义的斜接。 |
另请参阅 QPen 。
enum Qt::PenStyle
此枚举类型定义了可使用QPainter 绘制的笔触样式。这些样式包括:
![]() | ![]() | ![]() |
| Qt::SolidLine | Qt::DashLine | Qt::DotLine |
![]() | ![]() | ![]() |
| Qt::DashDotLine | Qt::虚点虚点线 | Qt::CustomDashLine |
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoPen | 0 | 完全不绘制线条。例如,QPainter::drawRect() 会填充区域但不绘制任何边界线。 |
Qt::SolidLine | 1 | 一条实线。 |
Qt::DashLine | 2 | 间隔几个像素的虚线。 |
Qt::DotLine | 3 | 间隔几个像素的点。 |
Qt::DashDotLine | 4 | 点和短线交替出现。 |
Qt::DashDotDotLine | 5 | 一条短线、两个点、一条短线、两个点。 |
Qt::CustomDashLine | 6 | 使用QPainterPathStroker::setDashPattern() 定义的自定义图案。 |
另请参阅 QPen 。
[since 6.5] enum class Qt::PermissionStatus
此枚举描述了权限的可能状态。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::PermissionStatus::Undetermined | 0 | 权限状态尚不清楚。应通过QCoreApplication::requestPermission() 请求权限以确定实际状态。此状态绝不会是请求权限的结果。 |
Qt::PermissionStatus::Granted | 1 | 用户已明确授予应用程序该权限,或者已知该权限在给定平台上无需用户授权。 |
Qt::PermissionStatus::Denied | 2 | 用户已明确拒绝授予该应用所请求的权限,或者已知该权限在给定平台上对应用不可用或不适用。 注意:在 Android系统上 ,该平台的 API 不提供 |
该枚举类型在 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::PrimaryOrientation | 0x00000000 | 显示器的主要方向。 |
Qt::LandscapeOrientation | 0x00000002 | 横向,显示宽度大于显示高度。 |
Qt::PortraitOrientation | 0x00000001 | 纵向,显示屏高度大于显示屏宽度,相对于横向顺时针旋转 90 度。 |
Qt::InvertedLandscapeOrientation | 0x00000008 | 倒置横向方向,相对于横向方向旋转 180 度。 |
Qt::InvertedPortraitOrientation | 0x00000004 | 倒置横向,相对于纵向旋转了 180 度。 |
ScreenOrientations 类型是QFlags<ScreenOrientation> 的 typedef 定义。它存储 ScreenOrientation 值的按“或”运算组合。
enum Qt::ScrollBarPolicy
该枚举类型描述了QAbstractScrollArea 中滚动条的各种模式。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ScrollBarAsNeeded | 0 | QAbstractScrollArea 当内容过大而无法完全显示时显示滚动条,否则不显示。这是默认行为。 |
Qt::ScrollBarAlwaysOff | 1 | QAbstractScrollArea 永远不显示滚动条。 |
Qt::ScrollBarAlwaysOn | 2 | QAbstractScrollArea 始终显示滚动条。在采用临时滚动条的系统上(例如 Mac 10.7 及更高版本),该属性将被忽略。 |
(水平和垂直滚动条的模式是相互独立的。)
enum Qt::ScrollPhase
此枚举描述了滚动的阶段。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoScrollPhase | 0 | 输入设备不支持滚动阶段。该值在 Qt 5.7 中引入。 |
Qt::ScrollBegin | 1 | 滚动即将开始,但滚动距离尚未发生变化。 |
Qt::ScrollUpdate | 2 | 滚动距离已发生变化(默认)。 |
Qt::ScrollEnd | 3 | 滚动已结束,且滚动距离不再发生变化。 |
Qt::ScrollMomentum | 4 | 用户已不再触摸输入设备,但由于滚动惯性,滚动仍在继续。该值自 Qt 5.12 起引入。 |
enum Qt::ShortcutContext
要触发QEvent::Shortcut 事件,用户必须在快捷键有效的上下文中输入该快捷键的键序列。可能的上下文包括:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::WidgetShortcut | 0 | 当快捷键的父控件拥有焦点时,该快捷键处于活动状态。 |
Qt::WidgetWithChildrenShortcut | 3 | 当快捷键的父控件或其任何子控件获得焦点时,该快捷键处于活动状态。作为顶级控件的子控件(弹出窗口除外)不受此快捷键上下文的影响。 |
Qt::WindowShortcut | 1 | 当其父控件是活动顶级窗口的逻辑子控件时,该快捷键处于活动状态。 |
Qt::ApplicationShortcut | 2 | 当该应用程序的某个窗口处于活动状态时,该快捷键处于活动状态。 |
enum Qt::SizeHint
该枚举由QGraphicsLayoutItem::sizeHint() 方法使用
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MinimumSize | 0 | 用于指定图形布局项的最小尺寸。 |
Qt::PreferredSize | 1 | 用于指定图形布局项的首选大小。 |
Qt::MaximumSize | 2 | 用于指定图形布局项的最大尺寸。 |
Qt::MinimumDescent | 3 | 用于指定图形布局项中文本字符串的最小下沉量。 |
另请参阅 QGraphicsLayoutItem::sizeHint()。
enum Qt::SizeMode
该枚举由QPainter::drawRoundedRect() 和QPainterPath::addRoundedRect() 函数使用,用于指定相对于指定边界矩形尺寸的矩形角半径。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AbsoluteSize | 0 | 使用绝对测量值指定大小。 |
Qt::RelativeSize | 1 | 指定相对于边界矩形的大小,通常使用百分比单位。 |
enum Qt::SortOrder
此枚举描述了小部件中项目如何进行排序。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::AscendingOrder | 0 | 项目按升序排序,例如在 Latin-1 区域设置中,从“AAA”开始,以“ZZZ”结束 |
Qt::DescendingOrder | 1 | 项目按降序排序,例如在 Latin-1 区域设置中,以“ZZZ”开头,以“AAA”结尾 |
enum Qt::SplitBehaviorFlags
flags Qt::SplitBehavior
此枚举指定了QString::split()函数在处理空字符串时的行为方式。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::KeepEmptyParts | 0 | 如果字段为空,则将其保留在结果中。 |
Qt::SkipEmptyParts | 0x1 | 如果字段为空,则不要将其包含在结果中。 |
SplitBehavior 类型是QFlags<SplitBehaviorFlags> 的 typedef。它存储 SplitBehaviorFlags 值的“或”组合。
另请参阅 ` QString::split()`。
enum Qt::TabFocusBehavior
此枚举类型为Tab键导航提供了不同的焦点行为。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoTabFocus | 0x00 | iterate 无。 |
Qt::TabFocusTextControls | 0x01 | 遍历文本控件和小组件。 |
Qt::TabFocusListControls | 0x02 | 遍历列表控件和小部件。 |
Qt::TabFocusAllControls | 0xff | 遍历所有控件和小部件。 |
enum Qt::TextElideMode
此枚举用于指定在显示内容超出显示区域时,省略号应出现在何处:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ElideLeft | 0 | 省略号应出现在文本开头。 |
Qt::ElideRight | 1 | 省略号应出现在文本末尾。 |
Qt::ElideMiddle | 2 | 省略号应出现在文本中间。 |
Qt::ElideNone | 3 | 省略号不应出现在文本中。当将其传递给诸如 `QFontMetrics::elidedText()` 之类的函数时,这将导致返回完整的字符串,除非文本包含多种长度变体。在这种情况下,必须通过截断至组件宽度来实现省略。 |
对于 URL(例如“http://bugreports.qt.../QTWEBSITE-13/"),而 Qt::ElideRight 则适用于其他字符串(例如,“在 Ma 上部署应用程序...”)。
另请参阅 QAbstractItemView::textElideMode 、QFontMetrics::elidedText()、AlignmentFlag 和QTabBar::elideMode 。
enum Qt::TextFlag
此枚举类型用于定义一些修饰标志。其中某些标志仅在打印上下文中才有意义:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TextSingleLine | 0x0100 | 将所有空白字符均视为空格,并仅打印一行。 |
Qt::TextDontClip | 0x0200 | 如果无法保持在给定的边界内,则会超出边界进行打印。 |
Qt::TextExpandTabs | 0x0400 | 使 U+0009(ASCII 制表符)字符移动到下一个制表停靠点。 |
Qt::TextShowMnemonic | 0x0800 | 将字符串“&P”显示为P。若要显示“&”符号,请使用“&&”。 |
Qt::TextWordWrap | 0x1000 | 在适当的位置(例如单词边界)换行。 |
Qt::TextWrapAnywhere | 0x2000 | 在任意位置换行,即使在单词内部也不例外。 |
Qt::TextHideMnemonic | 0x8000 | 与 Qt::TextShowMnemonic 相同,但不会绘制下划线。 |
Qt::TextDontPrint | 0x4000 | 将此文本视为“隐藏”并避免打印。 |
Qt::TextIncludeTrailingSpaces | 0x08000000 | 当设置此选项时,QTextLine::naturalTextWidth() 和QTextLine::naturalTextRect() 将返回一个包含文本中尾部空格宽度的值;否则,该宽度将被排除在外。 |
Qt::TextJustificationForced | 0x10000 | 确保文本行两端对齐。 |
您可以使用任意数量的修饰标志,但 Qt::TextSingleLine 和 Qt::TextWordWrap 不能组合使用。
对于给定用途不合适的标志通常会被忽略。
enum Qt::TextFormat
此枚举用于既能显示纯文本又能显示富文本的小部件,例如QLabel 。它用于决定应将文本字符串解释为纯文本还是富文本。通常通过将枚举值之一传递给QStaticText::setTextFormat()函数来实现。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::PlainText | 0 | 将文本字符串解释为纯文本字符串。 |
Qt::RichText | 1 | 将文本字符串解释为富文本字符串。有关富文本的定义,请参阅“支持的 HTML 子集”。 |
Qt::AutoText | 2 | 如果 `Qt::mightBeRichText()` 返回 `true`,则该文本字符串被解释为 Qt::RichText;否则被解释为 Qt::PlainText。 |
Qt::MarkdownText | 3 | 该文本字符串被解释为 Markdown 格式的文本。此枚举值在 Qt 5.14 中新增。 |
enum Qt::TextInteractionFlag
flags Qt::TextInteractionFlags
此枚举指定文本显示控件如何响应用户输入。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoTextInteraction | 0 | 无法与文本进行交互。 |
Qt::TextSelectableByMouse | 1 | 可以使用鼠标选择文本,并通过上下文菜单或标准键盘快捷键将其复制到剪贴板。 |
Qt::TextSelectableByKeyboard | 2 | 可以使用键盘上的方向键选择文本。此时会显示一个文本光标。 |
Qt::LinksAccessibleByMouse | 4 | 可以使用鼠标突出显示并激活链接。 |
Qt::LinksAccessibleByKeyboard | 8 | 可使用 Tab 键将焦点移至链接,并按 Enter 键激活。 |
Qt::TextEditable | 16 | 文本完全可编辑。 |
Qt::TextEditorInteraction | TextSelectableByMouse | TextSelectableByKeyboard | TextEditable | 这是文本编辑器的默认设置。 |
Qt::TextBrowserInteraction | TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard | QTextBrowser 的默认设置。 |
TextInteractionFlags 类型是QFlags<TextInteractionFlag> 的 typedef。它存储 TextInteractionFlag 值的按“或”运算组合。
enum Qt::TileRule
此枚举描述了在绘制图像时如何重复或拉伸图像的各个部分。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::StretchTile | 0 | 将图像缩放以适应可用区域。 |
Qt::RepeatTile | 1 | 重复图像,直到没有空间为止。可能会裁剪最后一张图像。 |
Qt::RoundTile | 2 | 与“重复”类似,但会缩小图像尺寸,以确保最后一张图块不会被裁剪。 |
enum Qt::TimeSpec
| 常数 | 值 | 描述 |
|---|---|---|
Qt::LocalTime | 0 | 本地时间,由系统时区设置控制。 |
Qt::UTC | 1 | 协调世界时。 |
Qt::OffsetFromUTC | 2 | 相对于协调世界时的秒数偏移量。 |
Qt::TimeZone | 3 | 一个命名的时区。 |
LocalTime 和 TimeZone 都会处理过渡情况,例如夏令时的开始和结束。UTC 是通常用于指定时区的标准时间:格林威治标准时间与它的偏移量为零。UTC 和 OffsetFromUTC 均不存在任何过渡情况。
使用 OffsetFromUTC 指定日期时间时,还必须提供相对于 UTC 的偏移量(以秒为单位)。 若要使用 TimeZone 指定日期时间,必须提供一个 `QTimeZone `。从 Qt 6.5 开始,`QTimeZone ` 现可将时间规范(必要时包含偏移量)打包为轻量级时间描述,因此传递 `QTimeZone ` 现可提供统一的方式来使用日期时间 API,无需针对不同的时间规范采用不同的调用方式。
注意:在 系统时区设置发生变更后, 变更前创建的基于 LocalTime 的QDateTime 对象的行为未定义:QDateTime 可能缓存了因该变更而失效的数据。(此情况不会因系统时区的转换而触发。) 在长期运行的进程中,系统时区数据的更新(例如当政界人士更改某个时区的规则时)同样可能导致更新后的时区信息与更新前创建的QDateTime 对象(无论使用LocalTime还是TimeZone)所缓存的数据之间发生冲突。
[since 6.8] enum class TimerId
该类型用于表示定时器 ID(例如,QTimer 和QChronoTimer )。其底层类型为int 。您可以使用qToUnderlying() 将 Qt::TimerId 转换为int 。
| 常量 | 值 | 描述 |
|---|---|---|
QObject::TimerId::Invalid | 0 | 表示一个无操作定时器 ID;其用法取决于上下文,例如,这是 `QObject::startTimer()` 返回的值,用于指示未能启动定时器;而 `QChronoTimer::id()` 在定时器处于非活动状态时返回此值,即 `timer.isActive() ` 返回 `false`。 |
该枚举在 Qt 6.8 中引入。
另请参阅 QTimer::id()、QChronoTimer::id() 和QObject::startTimer()。
enum Qt::TimerType
计时器类型决定了计时器的精度。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::PreciseTimer | 0 | 高精度计时器力求保持毫秒级精度 |
Qt::CoarseTimer | 1 | 粗略计时器力求将精度控制在目标间隔的 5% 范围内 |
Qt::VeryCoarseTimer | 2 | 非常粗略的计时器仅保持整秒精度 |
在 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::LeftToolBarArea | 0x1 |
Qt::RightToolBarArea | 0x2 |
Qt::TopToolBarArea | 0x4 |
Qt::BottomToolBarArea | 0x8 |
Qt::AllToolBarAreas | ToolBarArea_Mask |
Qt::NoToolBarArea | 0 |
ToolBarAreas 类型是QFlags<ToolBarArea> 的 typedef。它存储 ToolBarArea 值的按“或”运算组合。
enum Qt::ToolButtonStyle
工具按钮的样式,用于描述按钮的文本和图标应如何显示。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::ToolButtonIconOnly | 0 | 仅显示图标。 |
Qt::ToolButtonTextOnly | 1 | 仅显示文本。 |
Qt::ToolButtonTextBesideIcon | 2 | 文本显示在图标旁边。 |
Qt::ToolButtonTextUnderIcon | 3 | 文本显示在图标下方。 |
Qt::ToolButtonFollowStyle | 4 | 请遵循《style 》。 |
enum Qt::TouchPointState
flags Qt::TouchPointStates
该枚举表示在发生QTouchEvent 时触点所处的状态。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::TouchPointUnknownState | 0x00 | 触摸点的状态未知。 |
Qt::TouchPointPressed | 0x01 | 触摸点目前处于被按下的状态。 |
Qt::TouchPointMoved | 0x02 | 触摸点已移动。 |
Qt::TouchPointStationary | 0x04 | 触点未移动。 |
Qt::TouchPointReleased | 0x08 | 触点已被释放。 |
TouchPointStates 类型是QFlags<TouchPointState> 的 typedef 定义。它存储 TouchPointState 值的按“或”运算组合。
enum Qt::TransformationMode
此枚举类型用于定义图像变换(例如缩放)是否应保持平滑。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::FastTransformation | 0 | 变换执行迅速,不进行平滑处理。 |
Qt::SmoothTransformation | 1 | 使用双线性滤波对生成的图像进行变换。 |
另请参阅 QImage::scaled()。
enum Qt::UIEffect
此枚举描述了可用的 UI 效果。
默认情况下,Qt 会尝试针对每种效果使用平台特有的桌面设置。若要阻止此行为,请使用 `QApplication::setDesktopSettingsAware()` 函数(将 `false ` 作为参数传递);若要启用或禁用特定效果,请使用 `QApplication::setEffectEnabled()`。
请注意,在色彩深度低于 16 位的屏幕上,所有效果均会被禁用。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::UI_AnimateMenu | 1 | 显示动画菜单。 |
Qt::UI_FadeMenu | 2 | 显示淡入淡出的菜单。 |
Qt::UI_AnimateCombo | 3 | 显示带动画效果的下拉列表。 |
Qt::UI_AnimateTooltip | 4 | 显示工具提示动画。 |
Qt::UI_FadeTooltip | 5 | 显示工具提示淡入淡出效果。 |
Qt::UI_AnimateToolBox | 6 | 保留 |
另请参阅 QApplication::setEffectEnabled() 和QGuiApplication::setDesktopSettingsAware()。
enum Qt::WhiteSpaceMode
该枚举描述了QTextDocument 类所使用的空白模式类型,以满足不同类型文本信息的需求。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::WhiteSpaceNormal | 0 | 用于显示段落中正常换行文本的空白模式。 |
Qt::WhiteSpacePre | 1 | 一种预格式化文本模式,其中空格会被精确再现。 |
Qt::WhiteSpaceNoWrap | 2 |
enum Qt::WidgetAttribute
该枚举类型用于指定各种小部件属性。属性可通过 `QWidget::setAttribute()` 进行设置和清除,并通过 `QWidget::testAttribute()` 进行查询,不过某些属性还提供了下文将提到的专用便捷函数。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::WA_AcceptDrops | 78 | 允许将拖放操作中的数据拖放到控件上(参见QWidget::setAcceptDrops())。 |
Qt::WA_AlwaysShowToolTips | 84 | 为非活动窗口启用工具提示。 |
Qt::WA_CustomWhatsThis | 47 | 表示该小部件希望在“这是什么?”模式下继续正常运行。此设置由小部件的作者设定。 |
Qt::WA_DeleteOnClose | 55 | 当控件已接受关闭事件时,使 Qt 删除该控件(参见QWidget::closeEvent())。 |
Qt::WA_Disabled | 0 | 表示该控件已被禁用,即不会接收任何鼠标或键盘事件。此外还有一个获取函数QWidget::isEnabled()。该属性由 Qt 内核进行设置或清除。 |
Qt::WA_DontShowOnScreen | 103 | 表示该控件处于隐藏状态,或不属于可视桌面范围。 |
Qt::WA_ForceDisabled | 32 | 表示该控件已被显式禁用,即即使所有其父控件均处于启用状态,它仍将保持禁用。这隐含了 WA_Disabled。该状态由QWidget::setEnabled() 和QWidget::setDisabled() 设置或清除。 |
Qt::WA_ForceUpdatesDisabled | 59 | 表示小部件的更新已被显式禁用;即即使其所有父级都设置为更新启用状态,该小部件仍将保持禁用状态。这隐含了 WA_UpdatesDisabled。该标志通过QWidget::setUpdatesEnabled() 进行设置/清除。 |
Qt::WA_Hover | 74 | 强制 Qt 在鼠标进入或离开小部件时生成绘制事件。此功能通常用于实现自定义样式时。 |
Qt::WA_InputMethodEnabled | 14 | 启用亚洲语言的输入法。在创建自定义文本编辑控件时必须设置此选项。 |
Qt::WA_KeyboardFocusChange | 77 | 当用户通过键盘(Tab、BackTab 或快捷键)切换焦点时,在顶级窗口上设置此选项。 |
Qt::WA_KeyCompression | 33 | 若设置此选项,则启用键事件压缩;若未设置,则禁用。默认情况下键事件压缩处于关闭状态,因此小部件会为每次按键接收一个按键事件(或更多,因为自动重复功能通常处于开启状态)。 若启用此功能,而程序无法及时处理键盘输入,Qt 可能会尝试压缩键盘事件,以便在每个事件中处理多个字符。 例如,如果 CPU 重新计算键盘布局耗时过长,文字处理器控件在每次调用 `QKeyEvent::text()` 时可能会接收 2、3 个或更多字符。如果控件支持多字符 Unicode 输入,启用压缩总是安全的。 Qt 仅对可打印字符执行键事件压缩。Qt::Modifier 键、光标移动键、功能键以及各类操作键(例如 Escape、Enter、Backspace、PrintScreen)会停止键事件压缩,即使还有可压缩的键事件可用。 除 Mac 和 X11 以外的平台不支持此压缩功能,在此情况下启用该功能将无效。此功能由控件的开发者设置或清除。 |
Qt::WA_LayoutOnEntireRect | 48 | 表示该控件希望QLayout 对整个QWidget::rect()进行操作,而不仅仅是QWidget::contentsRect()。此设置由控件的开发者设定。 |
Qt::WA_LayoutUsesWidgetRect | 92 | 在使用QLayout 对该小部件进行布局时,忽略样式中的布局项矩形(rect)。 |
Qt::WA_MacOpaqueSizeGrip | 85 | 表示原生尺寸控制柄应为不透明而非透明(默认行为)。此属性仅适用于 macOS,并由控件作者设置。 |
Qt::WA_MacShowFocusRect | 88 | 表示该控件周围应显示QFocusFrame 。某些控件会忽略此属性,自行绘制焦点光环。请注意,QWidget::focusPolicy 在决定是否获得焦点方面起主要作用,此属性仅控制该控件是否显示焦点边框。此属性仅适用于 macOS。 |
Qt::WA_MacNormalSize | 89 | 表示该小部件应采用 macOS 中小部件的标准尺寸。此属性仅适用于 macOS。 |
Qt::WA_MacSmallSize | 90 | 表示小部件应采用 macOS 中小部件的“小”尺寸。此属性仅适用于 macOS。 |
Qt::WA_MacMiniSize | 91 | 表示小部件应采用 macOS 中小部件的迷你尺寸。此属性仅适用于 macOS。 |
Qt::WA_Mapped | 11 | 表示该小部件已在屏幕上映射。该属性由 Qt 内核设置或清除。 |
Qt::WA_MouseNoMask | 71 | 使小部件接收针对整个小部件的鼠标事件,无论当前设置的遮罩如何,并覆盖 `QWidget::setMask()`。此属性不适用于顶级窗口。 |
Qt::WA_MouseTracking | 2 | 表示该控件已启用鼠标跟踪。参见QWidget::mouseTracking 。 |
Qt::WA_Moved | 43 | 表示该小部件具有显式位置。此标志由QWidget::move()和QWidget::setGeometry()设置或清除。 |
Qt::WA_NoChildEventsForParent | 58 | 表示该控件不希望将其 `ChildAdded ` 或 `ChildRemoved ` 事件发送给父控件。这种情况很少需要,但有助于避免自动插入控件(如拆分器和布局)。此属性由控件的开发者设置。 |
Qt::WA_NoChildEventsFromChildren | 39 | 表示该控件不希望接收其子控件发送的ChildAdded 或ChildRemoved 事件。此标志由控件的作者设置。 |
Qt::WA_NoMouseReplay | 54 | 用于弹出式小部件。表示当弹出式小部件关闭时,不应重放最近的鼠标点击事件。该标志由小部件的作者设置,并在小部件每次接收新鼠标事件时由 Qt 内核清除。 |
Qt::WA_NoMousePropagation | 73 | 禁止将鼠标事件传播到该控件的父控件。此属性默认处于禁用状态。 |
Qt::WA_TransparentForMouseEvents | 51 | 启用此属性后,将禁用向该控件及其子控件传递鼠标事件。鼠标事件将传递给其他控件,就好像该控件及其子控件不存在于控件层次结构中一样;鼠标点击和其他事件实际上会“穿过”它们。此属性默认处于禁用状态。 |
Qt::WA_NoSystemBackground | 9 | 表示该控件没有背景,即当控件接收绘制事件时,背景不会自动重绘。注意:与 WA_OpaquePaintEvent 不同,新暴露的区域绝不会被填充为背景色(例如,在首次显示窗口后,用户可以“透过”窗口看到内容,直到应用程序处理绘制事件为止)。该标志由控件的开发者设置或清除。 |
Qt::WA_OpaquePaintEvent | 4 | 表示小部件在接收到绘制事件时会重绘其所有像素。因此,在更新、调整大小、滚动和焦点变化等操作中,无需在生成绘制事件之前先清除小部件。 使用 WA_OpaquePaintEvent 可带来微小的性能优化:在不支持双缓冲的系统上,它有助于减少闪烁现象,并避免了在绘制前擦除背景所需的计算周期。注意:与 WA_NoSystemBackground 不同,WA_OpaquePaintEvent 会尽力避免使用透明的窗口背景。该标志由小部件的开发者设置或清除。 |
Qt::WA_OutsideWSRange | 49 | 表示该小部件位于窗口系统坐标系的有效范围之外。位于有效范围之外的小部件无法映射到屏幕上。此标志由 Qt 内核设置或清除。 |
Qt::WA_PaintOnScreen | 8 | 表示该控件希望直接在屏幕上绘制。设置了此属性的控件不参与合成管理,即它们不能呈现半透明效果,也无法透过半透明的重叠控件显示。注意:此标志仅在 X11 上受支持,且会禁用双缓冲。在 Qt for Embedded Linux 中,该标志仅在设置于顶级控件时才有效,且依赖于活动屏幕驱动程序的支持。此标志由控件的开发者设置或清除。 若要在 Qt 的绘制系统之外进行渲染(例如,当需要使用原生绘制原语时),则需要重写 `QWidget::paintEngine()` 方法,使其返回 0 并设置此标志。 |
Qt::WA_PaintUnclipped | 52 | 使所有在此控件上运行的绘制器不受裁剪限制。 该小部件的子项或位于其前面的其他小部件不会裁剪绘制器可绘制区域。此标志仅支持已设置 WA_PaintOnScreen 标志的小部件。实现此功能的跨平台首选方法是创建一个位于其他小部件前面的透明小部件。 |
Qt::WA_PendingMoveEvent | 34 | 表示有一个移动事件待处理,例如当一个隐藏的小部件被移动时。该标志由 Qt 内核设置或清除。 |
Qt::WA_PendingResizeEvent | 35 | 表示有待处理的调整大小事件,例如当隐藏的小部件被调整大小时。该标志由 Qt 内核设置或清除。 |
Qt::WA_QuitOnClose | 76 | 表示在关闭最后一个窗口时,决定是否退出应用程序时应将该小部件纳入考虑范围。可通过QGuiApplication::quitOnLastWindowClosed 属性修改此行为。默认情况下,此属性对所有Qt::Window 类型的小部件均被设置。 |
Qt::WA_Resized | 42 | 表示该小部件具有显式大小。该标志由QWidget::resize()和QWidget::setGeometry()设置或清除。 |
Qt::WA_RightToLeft | 56 | 表示该小部件的布局方向为从右到左。 |
Qt::WA_SetCursor | 38 | 表示该小部件拥有自己的光标。该标志由QWidget::setCursor() 和QWidget::unsetCursor() 设置或清除。 |
Qt::WA_SetFont | 37 | 表示该控件具有自己的字体。该标志由QWidget::setFont() 设置或清除。 |
Qt::WA_SetPalette | 36 | 表示该控件拥有自己的调色板。该标志由QWidget::setPalette() 设置或清除。 |
Qt::WA_SetStyle | 86 | 表示该控件拥有自己的样式。该标志由QWidget::setStyle() 设置或清除。 |
Qt::WA_ShowModal | 70 | 此属性已弃用。请改用QWidget::windowModality 。 |
Qt::WA_StaticContents | 5 | 表示控件内容对齐于西北角且为静态。在调整大小时,此类控件仅会针对新显示的部分接收绘制事件。该标志由控件的作者设置或清除。 |
Qt::WA_StyleSheet | 97 | 表示该控件使用样式表进行样式设置。只要控件受样式表影响,无论样式表是否实际改变了控件的外观,都会设置 WA_StyleSheet。 |
Qt::WA_StyleSheetTarget | 131 | 表示控件的外观已被样式表修改。此时 WA_StyleSheet 也会被设置。该值自 Qt 5.12 起引入。 |
Qt::WA_TabletTracking | 129 | 表示该控件已启用平板设备跟踪功能。参见QWidget::tabletTracking 。 |
Qt::WA_TranslucentBackground | 120 | 表示该控件应具有半透明背景,即控件中的任何非不透明区域都将呈现半透明效果,因为该控件将拥有一个Alpha通道。设置此标志会导致 WA_NoSystemBackground 被设置。在 Windows 系统上,该控件还需设置Qt::FramelessWindowHint 窗口标志。 该标志由控件的开发者设置或清除。截至 Qt 5.0 版本,在控件显示后切换此属性在各平台上的支持情况并不一致。若需使用半透明背景,请在创建控件时尽早设置该属性,并避免后续修改。 |
Qt::WA_UnderMouse | 1 | 表示小部件位于鼠标光标下方。在拖放操作期间,该值无法正确更新。此外还有一个获取函数:QWidget::underMouse()。该标志由 Qt 内核设置或清除。 |
Qt::WA_UpdatesDisabled | 10 | 表示更新被阻塞(包括系统后台)。该标志由 Qt 内核设置或清除。警告:小部件的开发者绝不能自行设置或清除此标志。 |
Qt::WA_WindowModified | 41 | 表示该窗口已被标记为已修改。在某些平台上,此标志不会产生任何效果;而在其他平台(包括 macOS 和 Windows)上,窗口将呈现已修改的外观。此标志由QWidget::setWindowModified() 设置或清除。 |
Qt::WA_WindowPropagation | 80 | 使顶级窗口从其父窗口继承字体、调色板和区域设置。 |
Qt::WA_MacAlwaysShowToolWindow | 96 | 在 macOS 上,即使应用程序处于非活动状态,也会显示工具窗口。默认情况下,当应用程序处于非活动状态时,所有工具窗口均被隐藏。 |
Qt::WA_SetLocale | 87 | 表示应在小部件中考虑区域设置。 |
Qt::WA_StyledBackground | 93 | 表示应使用样式化背景来绘制小部件。 |
Qt::WA_ShowWithoutActivating | 98 | 显示小部件但不使其处于活动状态。 |
Qt::WA_NativeWindow | 100 | 表示为控件创建一个原生窗口。启用此标志还将强制为控件的祖先创建原生窗口,除非设置了 Qt::WA_DontCreateNativeAncestors。 |
Qt::WA_DontCreateNativeAncestors | 101 | 表示即使小部件本身是本机窗口,其父窗口仍保持为非本机窗口。 |
Qt::WA_X11NetWmWindowTypeDesktop | 104 | 将 _NET_WM_WINDOW_TYPE_DESKTOP 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。 |
Qt::WA_X11NetWmWindowTypeDock | 105 | 将 _NET_WM_WINDOW_TYPE_DOCK 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。有关详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。 |
Qt::WA_X11NetWmWindowTypeToolBar | 106 | 将 _NET_WM_WINDOW_TYPE_TOOLBAR 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于QToolBar ,Qt 会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeMenu | 107 | 将 _NET_WM_WINDOW_TYPE_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:当窗口被分离时,Qt 会自动为QMenu 设置此属性。 |
Qt::WA_X11NetWmWindowTypeUtility | 108 | 将 _NET_WM_WINDOW_TYPE_UTILITY 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。有关更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于Qt::Tool 窗口类型,Qt会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeSplash | 109 | 将 _NET_WM_WINDOW_TYPE_SPLASH 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息请参阅 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。注意:对于Qt::SplashScreen 窗口类型,Qt 会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeDialog | 110 | 将 _NET_WM_WINDOW_TYPE_DIALOG 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性对非 X11 平台无效。注意:Qt 会为Qt::Dialog 和Qt::Sheet 窗口类型自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeDropDownMenu | 111 | 将 _NET_WM_WINDOW_TYPE_DROPDOWN_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 有关更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于添加到QMenuBar 中的QMenu 对象,Qt 会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypePopupMenu | 112 | 将 _NET_WM_WINDOW_TYPE_POPUP_MENU 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于QMenu ,Qt 会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeToolTip | 113 | 将 _NET_WM_WINDOW_TYPE_TOOLTIP 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:对于Qt::ToolTip 窗口类型,Qt 会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeNotification | 114 | 将 _NET_WM_WINDOW_TYPE_NOTIFICATION 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。 更多详细信息,请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。 |
Qt::WA_X11NetWmWindowTypeCombo | 115 | 将 _NET_WM_WINDOW_TYPE_COMBO 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。更多详细信息,请参阅 http://standards.freedesktop.org/wm-spec/。该属性在非 X11 平台上无效。注意:对于QComboBox 弹出窗口,Qt会自动设置此属性。 |
Qt::WA_X11NetWmWindowTypeDND | 116 | 将 _NET_WM_WINDOW_TYPE_DND 添加到窗口的 _NET_WM_WINDOW_TYPE X11 窗口属性中。更多详细信息请参见 http://standards.freedesktop.org/wm-spec/。此属性在非 X11 平台上无效。注意:Qt 会在拖拽过程中自动为反馈小部件设置此属性。 |
Qt::WA_AcceptTouchEvents | 121 | 允许将触摸事件(参见QTouchEvent )发送至控件。必须为所有能处理触摸事件的控件设置此属性。若未设置此属性,来自触摸设备的事件将被作为鼠标事件发送。 |
Qt::WA_TouchPadAcceptSingleTouchEvents | 123 | 允许将触摸板单点触控事件发送至该小部件。 |
Qt::WA_X11DoNotAcceptFocus | 126 | 要求窗口管理器不要将焦点赋予此顶级窗口。此属性在非 X11 平台上无效。 |
Qt::WA_AlwaysStackOnTop (since Qt 5.4) | 128 | 强制将QOpenGLWidget 和QQuickWidget 最后渲染,使其位于其他小部件之上。对于其他类型的小部件,此属性将被忽略。 设置此属性会破坏堆叠顺序,但允许创建半透明的 OpenGL 控件,使其下方其他控件仍可见。强烈建议在启用或禁用此属性后,对控件的顶级窗口调用update() 方法。 |
Qt::WA_ContentsMarginsRespectsSafeArea | 130 | QWidget 默认会将窗口的安全区域边距纳入其内容的边距中,从而尊重窗口的安全区域边距。这意味着,除非设置了 Qt::WA_LayoutOnEntireRect 属性,否则QLayout 将使用小部件的内容区域进行布局。 结合内容边距设为 0 的设置,可在实际布局中应用此特性,例如在 iOS 设备上,允许背景图像位于状态栏和其他系统区域下方,同时仍允许该背景的子控件根据安全区域进行内嵌布局。 |
enum Qt::WindowFrameSection
该枚举用于描述窗框的各个部分。它由QGraphicsWidget::windowFrameSectionAt() 函数返回,用于描述鼠标当前位于窗框的哪个部分。
| 常量 | 值 |
|---|---|
Qt::NoSection | 0 |
Qt::LeftSection | 1 |
Qt::TopLeftSection | 2 |
Qt::TopSection | 3 |
Qt::TopRightSection | 4 |
Qt::RightSection | 5 |
Qt::BottomRightSection | 6 |
Qt::BottomSection | 7 |
Qt::BottomLeftSection | 8 |
Qt::TitleBarArea | 9 |
另请参阅 QGraphicsWidget::windowFrameEvent()、QGraphicsWidget::paintWindowFrame() 和QGraphicsWidget::windowFrameSectionAt()。
enum Qt::WindowModality
此枚举指定模态窗口的行为。模态窗口是指会阻塞其他窗口输入的窗口。请注意,模态窗口的子窗口不会被阻塞。
其取值如下:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NonModal | 0 | 该窗口非模态,不会阻塞对其他窗口的输入。 |
Qt::WindowModal | 1 | 该窗口对单个窗口层次结构具有模态性,并会阻塞对其父窗口、所有祖先窗口以及其父窗口和祖先窗口的所有同级窗口的输入。 |
Qt::ApplicationModal | 2 | 该窗口对应用程序具有模态性,并阻止对所有窗口的输入。 |
另请参阅 QWidget::windowModality 和QDialog 。
enum Qt::WindowState
flags Qt::WindowStates
此枚举类型用于指定顶级窗口的当前状态。
这些状态包括
| 常量 | 值 | 描述 |
|---|---|---|
Qt::WindowNoState | 0x00000000 | 窗口未设置任何状态(处于正常状态)。 |
Qt::WindowMinimized | 0x00000001 | 窗口已最小化(即图标化)。 |
Qt::WindowMaximized | 0x00000002 | 窗口处于最大化状态,周围有边框。 |
Qt::WindowFullScreen | 0x00000004 | 窗口填满整个屏幕,周围没有边框。 |
Qt::WindowActive | 0x00000008 | 该窗口是活动窗口,即拥有键盘焦点。 |
WindowStates 类型是QFlags<WindowState> 的 typedef 定义。它存储 WindowState 值的按“或”运算组合。
enum Qt::WindowType
flags Qt::WindowFlags
此枚举类型用于为小部件指定各种窗口系统属性。这些属性虽然比较少见,但在某些情况下是必不可少的。其中一些标志取决于底层窗口管理器是否支持它们。
主要类型包括
| 常量 | 值 | 描述 |
|---|---|---|
Qt::Widget | 0x00000000 | 这是 `QWidget` 的默认类型。此类小部件若具有父窗口,则为子窗口;若无父窗口,则为独立窗口。另请参阅 `Qt::Window` 和 `Qt::SubWindow`。 |
Qt::Window | 0x00000001 | 表示该小部件是一个窗口,通常带有窗口系统边框和标题栏,无论该小部件是否有父窗口。请注意,如果小部件没有父窗口,则无法取消设置此标志。 |
Qt::Dialog | 0x00000002 | Window | 表示该控件是一个应作为对话框进行装饰的窗口(即通常标题栏中没有最大化或最小化按钮)。这是QDialog 的默认类型。若要将其用作模态对话框,应从另一个窗口启动该对话框,或者让其拥有父窗口并配合使用QWidget::windowModality 属性。 若将其设置为模态,该对话框将阻止应用程序中其他顶级窗口接收任何输入。我们把具有父窗口的顶级窗口称为二级窗口。 |
Qt::Sheet | 0x00000004 | Window | 表示该窗口在 macOS 上为片式窗口。由于使用片式窗口意味着窗口具有模态性,因此建议改用QWidget::setWindowModality() 或QDialog::open()。 |
Qt::Drawer | Sheet | Dialog | 表示该控件在 macOS 上是抽屉(drawer)。此功能已弃用。设置该标志不会产生任何效果。 |
Qt::Popup | 0x00000008 | Window | 表示该控件是一个弹出式顶级窗口,即它具有模态特性,但拥有适合弹出菜单的窗口系统边框。 |
Qt::Tool | Popup | Dialog | 表示该控件是一个工具窗口。工具窗口通常是一个小窗口,其标题栏和装饰条比通常的要小,通常用于放置一组工具按钮。如果存在父窗口,工具窗口将始终保持在其上方。 如果没有父窗口,您还可以考虑同时使用 Qt::WindowStaysOnTopHint。如果窗口系统支持,工具窗口可以采用稍浅色的边框进行装饰。它还可以与 Qt::FramelessWindowHint 结合使用。 在 macOS 上,工具窗口对应于NSPanel类的窗口。这意味着该窗口位于普通窗口之上,因此无法将普通窗口置于其上方。默认情况下,当应用程序处于非活动状态时,工具窗口会消失。可以通过Qt::WA_MacAlwaysShowToolWindow 属性来控制此行为。 |
Qt::ToolTip | Popup | Sheet | 表示该小部件是工具提示。这在内部用于实现tooltips 。 |
Qt::SplashScreen | ToolTip | Dialog | 表示该窗口是一个启动画面。这是 `QSplashScreen` 的默认类型。 |
Qt::SubWindow | 0x00000012 | 表示该控件是一个子窗口,例如QMdiSubWindow 控件。 |
Qt::ForeignWindow | 0x00000020 | Window | 表示该窗口对象是一个句柄,代表由另一个进程或通过手动使用本机代码创建的本机平台窗口。 |
Qt::CoverWindow | 0x00000040 | Window | 表示该窗口为覆盖窗口,在某些平台上,当应用程序被最小化时会显示该窗口。 |
此外还有一些标志,可用于自定义顶级窗口的外观。这些标志对其他窗口没有影响:
| 常量 | 值 | 描述 |
|---|---|---|
Qt::MSWindowsFixedSizeDialogHint | 0x00000100 | 在 Windows 系统上为窗口添加细对话框边框。此样式传统上用于固定大小的对话框。 注意: 不建议在多显示器环境中使用 此标志。这是因为系统会强制要求窗口在跨屏幕移动时保持其原始尺寸。当使用分辨率不同的显示器时,这种情况尤其不可取。 |
Qt::MSWindowsOwnDC | 0x00000200 | 在 Windows 系统上为窗口提供独立的显示上下文。 |
Qt::BypassWindowManagerHint | 0x00000400 | 此标志可用于指示平台插件应禁用“所有”窗口管理器协议。该标志的行为将根据应用程序运行的操作系统以及正在运行的窗口管理器而有所不同。该标志可用于获取一个未进行任何配置的原生窗口。 |
Qt::X11BypassWindowManagerHint | BypassWindowManagerHint | 完全绕过窗口管理器。这将生成一个完全不受管理的无边框窗口(即,除非手动调用QWidget::activateWindow(),否则不会处理键盘输入)。 |
Qt::FramelessWindowHint | 0x00000800 | 生成一个无边框窗口。 |
在 X11 环境下,该标志的效果取决于窗口管理器及其对 Motif 和/或 NETWM 提示的理解能力。大多数现有的现代窗口管理器都能处理此情况。
注意:如果 窗口管理器依赖边框来交互式地操作窗口,用户将无法再通过窗口系统移动或调整窗口大小,但不应依赖此副作用。若要生成一个无法调整大小的固定尺寸窗口,请将QWindow::setMinimumSize()和QWindow::setMaximumSize()设置为相同尺寸。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::NoDropShadowWindowHint | 0x40000000 | 在支持该功能的平台上禁用窗口阴影。 |
CustomizeWindowHint 标志用于启用窗口控件的自定义。必须设置此标志,才能更改WindowTitleHint 、WindowSystemMenuHint 、WindowMinimizeButtonHint 、WindowMaximizeButtonHint 和WindowCloseButtonHint 标志。
| 常量 | 值 | 描述 |
|---|---|---|
Qt::CustomizeWindowHint | 0x02000000 | 关闭默认的窗口标题提示。 |
Qt::WindowTitleHint | 0x00001000 | 为窗口添加标题栏。 |
Qt::WindowSystemMenuHint | 0x00002000 | 添加窗口系统菜单,并可能添加一个关闭按钮(例如在 Mac 上)。如果需要隐藏或显示关闭按钮,使用 `WindowCloseButtonHint` 更具可移植性。 |
Qt::WindowMinimizeButtonHint | 0x00004000 | 添加一个最小化按钮。在某些平台上,这需要 Qt::WindowSystemMenuHint 才能正常工作。 注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。 |
Qt::WindowMaximizeButtonHint | 0x00008000 | 添加一个最大化按钮。在某些平台上,要使其正常工作,需要使用 Qt::WindowSystemMenuHint。 注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。 |
Qt::WindowMinMaxButtonsHint | WindowMinimizeButtonHint | WindowMaximizeButtonHint | 添加一个最小化按钮和一个最大化按钮。在某些平台上,这需要使用 Qt::WindowSystemMenuHint 才能正常工作。 注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。 |
Qt::WindowCloseButtonHint | 0x08000000 | 添加一个关闭按钮。在某些平台上,这需要启用 Qt::WindowSystemMenuHint 才能正常工作。 注意:在 许多基于 Wayland 的系统上 ,服务器端装饰不支持按钮提示。 |
Qt::WindowContextHelpButtonHint | 0x00010000 | 在对话框中添加一个上下文帮助按钮。在某些平台上,这需要使用 Qt::WindowSystemMenuHint 才能正常工作。 |
Qt::WindowFullscreenButtonHint | 0x80000000 | 在 macOS 上添加全屏按钮。 |
Qt::BypassGraphicsProxyWidget | 0x20000000 | 如果父控件已被嵌入,则防止该窗口及其子窗口自动嵌入到QGraphicsProxyWidget 中。如果您希望控件始终作为桌面上的顶级控件存在(无论父控件是否已嵌入场景),可以设置此标志。 |
Qt::WindowShadeButtonHint | 0x00020000 | 如果底层窗口管理器支持,则添加一个“遮罩”按钮来替换最小化按钮。 |
Qt::WindowStaysOnTopHint | 0x00040000 | 告知窗口系统该窗口应始终位于所有其他窗口之上。请注意,在某些 X11 窗口管理器上,还必须传递 Qt::X11BypassWindowManagerHint 才能使此标志正常工作。 |
Qt::WindowStaysOnBottomHint | 0x04000000 | 告知窗口系统,该窗口应始终位于所有其他窗口的底部。 注意:在 X11环境下 ,此提示仅在支持 _NET_WM_STATE_BELOW 原子的窗口管理器中有效。如果始终位于底层的窗口有父窗口,则父窗口也将保持在底层。目前,此窗口提示在 macOS 上尚未实现。 注意:在 Windows系统上 ,此提示仅对无边框或全屏窗口有效。 |
Qt::WindowTransparentForInput | 0x00080000 | 告知窗口系统,该窗口仅用于输出(显示内容),不接受输入。因此,输入事件应像该窗口不存在一样直接穿透。 |
Qt::WindowOverridesSystemGestures | 0x00100000 | 告知窗口系统,该窗口实现了自己的手势集,并且应禁用系统级手势(例如三指切换桌面)。 |
Qt::WindowDoesNotAcceptFocus | 0x00200000 | 告知窗口系统,该窗口不应接收输入焦点。 注意:在 Windows 系统上,此设置会阻止该窗口出现在任务栏中。 |
Qt::MaximizeUsingFullscreenGeometryHint | 0x00400000 | Qt::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_Mask | 0x000000ff | 用于提取窗口标志中窗口类型部分的掩码。 |
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 。
QTextStream &Qt::right(QTextStream &stream)
在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.
标准箭头光标。
一个向上指向屏幕顶部的箭头。
十字准线光标,通常用于帮助用户精确选择屏幕上的某个点。
沙漏或时钟光标,通常在用户无法与应用程序交互的操作期间显示。
插入符或 I 形光标,表示该控件可以接受并显示文本输入。
用于垂直调整顶级窗口大小的控件所使用的光标。
用于调整顶级窗口水平大小的控件所使用的光标。
用于通过右上角和左下角对顶级窗口进行对角线调整大小的控件的光标。
用于通过顶部左侧和底部右侧角对顶级窗口进行对角线调整大小的元素的光标。
用于可沿任意方向调整顶级窗口大小的元素的光标。
用于垂直分割线的指针,表示可以水平拖动控点来调整可用空间的分配。
用于水平分割线的光标,表示可以垂直拖动控点来调整可用空间的分配。
一个指向手形光标,通常用于超链接等可点击元素。
带斜杠的圆圈光标,通常用于拖放操作中,以指示被拖动的内容不能被放置在特定的控件上或某些区域内。
一个代表张开手掌的光标,通常用于指示光标下方的区域是画布的可见部分,用户可以点击并拖动该区域以进行滚动。
代表紧握拳头的光标,通常用于指示正在进行涉及滚动的拖拽操作。
带问号的箭头,通常用于指示控件存在“这是什么?”帮助功能。
沙漏或时钟光标,通常在允许用户在后台操作执行期间与应用程序交互时显示。










