- Qt 6.6
- Qt GUI
- Qt GUI C++ Classes
- Qt 6.6.2 Reference Documentation

# Qt GUI C++ Classes

The Qt GUI module provides the basic enablers for graphical applications written with Qt. More...

## Namespaces

QColorConstants | Contains QColor predefined constants

## Classes

QAbstractFileIconProvider | File icons for the QFileSystemModel class
QAbstractTextDocumentLayout | Abstract base class used to implement custom layouts for QTextDocuments
QAbstractTextDocumentLayout::PaintContext | QAbstractTextDocumentLayout::PaintContext class is a convenience class defining the parameters used when painting a document's layout
QAbstractTextDocumentLayout::Selection | QAbstractTextDocumentLayout::Selection class is a convenience class defining the parameters of a selection
QAccessible | Enums and static functions related to accessibility
QAccessible::State
QAccessibleActionInterface | Implements support for invocable actions in the interface
QAccessibleEditableTextInterface | Implements support for objects with editable text
QAccessibleEvent | The base class for accessibility notifications
QAccessibleInterface | Defines an interface that exposes information about accessible objects
QAccessibleObject | Implements parts of the QAccessibleInterface for QObjects
QAccessiblePlugin | Abstract base class for plugins provinding accessibility information for user interface elements
QAccessibleSelectionInterface | Implements support for selection handling
QAccessibleStateChangeEvent | Notfies the accessibility framework that the state of an object has changed
QAccessibleTableCellInterface | Implements support for the IAccessibleTable2 Cell interface
QAccessibleTableInterface | Implements support for the IAccessibleTable2 interface
QAccessibleTableModelChangeEvent | Signifies a change in a table, list, or tree where cells are added or removed. If the change affected a number of rows, firstColumn and lastColumn will return -1. Likewise for columns, the row functions may return -1
QAccessibleTextCursorEvent | Notifies of cursor movements
QAccessibleTextInsertEvent | Notifies of text being inserted
QAccessibleTextInterface | Implements support for text handling
QAccessibleTextRemoveEvent | Notifies of text being deleted
QAccessibleTextSelectionEvent | Signals a change in the text selection of an object
QAccessibleTextUpdateEvent | Notifies about text changes. This is for accessibles that support editable text such as line edits. This event occurs for example when a portion of selected text gets replaced by pasting a new text or in override mode of editors
QAccessibleValueChangeEvent | Describes a change in value for an accessible object
QAccessibleValueInterface | Implements support for objects that manipulate a value
QAction | Abstraction for user commands that can be added to different user interface components
QActionEvent | Event that is generated when a QAction is added, removed, or changed
QActionGroup | Groups actions together
QBackingStore | Drawing area for QWindow
QBitmap | Monochrome (1-bit depth) pixmaps
QBrush | Defines the fill pattern of shapes drawn by QPainter
QClipboard | Access to the window system clipboard
QCloseEvent | Contains parameters that describe a close event
QColor | Colors based on RGB, HSV or CMYK values
QColorSpace | Color space abstraction
QColorTransform | Transformation between color spaces
QConicalGradient | Used in combination with QBrush to specify a conical gradient brush
QContextMenuEvent | Contains parameters that describe a context menu event
QCursor | Mouse cursor with an arbitrary shape
QDesktopServices | Methods for accessing common desktop services
QDoubleValidator | Range checking of floating-point numbers
QDrag | Support for MIME-based drag and drop data transfer
QDragEnterEvent | Event which is sent to a widget when a drag and drop action enters it
QDragLeaveEvent | Event that is sent to a widget when a drag and drop action leaves it
QDragMoveEvent | Event which is sent while a drag and drop action is in progress
QDropEvent | Event which is sent when a drag and drop action is completed
QEnterEvent | Contains parameters that describe an enter event
QEventPoint | Information about a point in a QPointerEvent
QExposeEvent | Contains event parameters for expose events
QFileOpenEvent | Event that will be sent when there is a request to open a file or a URL
QFileSystemModel | Data model for the local filesystem
QFocusEvent | Contains event parameters for widget focus events
QFont | Specifies a query for a font used for drawing text
QFontDatabase | Information about the fonts available in the underlying window system
QFontInfo | General information about fonts
QFontMetrics | Font metrics information
QFontMetricsF | Font metrics information
QGenericMatrix | Template class that represents a NxM transformation matrix with N columns and M rows
QGenericPlugin | Abstract base class for plugins
QGenericPluginFactory | Creates plugin drivers
QGlyphRun | Direct access to the internal glyphs in a font
QGradient | Used in combination with QBrush to specify gradient fills
QGuiApplication | Manages the GUI application's control flow and main settings
QHelpEvent | Event that is used to request helpful information about a particular point in a widget
QHideEvent | Event which is sent after a widget is hidden
QHoverEvent | Contains parameters that describe a mouse event
QIcon | Scalable icons in different modes and states
QIconDragEvent | Indicates that a main icon drag has begun
QIconEngine | Abstract base class for QIcon renderers
QIconEngine::ScaledPixmapArgument
QIconEnginePlugin | Abstract base for custom QIconEngine plugins
QImage | Hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device
QImageIOHandler | Defines the common image I/O interface for all image formats in Qt
QImageIOPlugin | Defines an interface for writing an image format plugin
QImageReader | Format independent interface for reading images from files or other devices
QImageWriter | Format independent interface for writing images to files or other devices
QInputDevice | Describes a device from which a QInputEvent originates
QInputEvent | The base class for events that describe user input
QInputMethod | Access to the active text input method
QInputMethodEvent | Parameters for input method events
QInputMethodEvent::Attribute | QInputMethodEvent::Attribute class stores an input method attribute
QInputMethodQueryEvent | Event sent by the input context to input objects
QIntValidator | Validator that ensures a string contains a valid integer within a specified range
QKeyEvent | Describes a key event
QKeySequence | Encapsulates a key sequence as used by shortcuts
QLinearGradient | Used in combination with QBrush to specify a linear gradient brush
QMatrix4x4 | Represents a 4x4 transformation matrix in 3D space
QMouseEvent | Contains parameters that describe a mouse event
QMoveEvent | Contains event parameters for move events
QMovie | Convenience class for playing movies with QImageReader
QNativeGestureEvent | Contains parameters that describe a gesture event
QNativeInterface::QAndroidOffscreenSurface | Native interface to a offscreen surface on Android
QNativeInterface::QCocoaGLContext | Native interface to an NSOpenGLContext on macOS
QNativeInterface::QEGLContext | Native interface to an EGL context
QNativeInterface::QGLXContext | Native interface to a GLX context
QNativeInterface::QWGLContext | Native interface to a WGL context on Windows
QNativeInterface::QWaylandApplication | Native interface to a Wayland application
QNativeInterface::QX11Application | Native interface to an X11 application
QOffscreenSurface | Represents an offscreen surface in the underlying platform
QOpenGLContext | Represents a native OpenGL context, enabling OpenGL rendering on a QSurface
QOpenGLContextGroup | Represents a group of contexts sharing OpenGL resources
QOpenGLExtraFunctions | Cross-platform access to the OpenGL ES 3.0, 3.1 and 3.2 API
QOpenGLFunctions | Cross-platform access to the OpenGL ES 2.0 API
QOpenGLTexture | Encapsulates an OpenGL texture object
QPageLayout | Describes the size, orientation and margins of a page
QPageRanges | Represents a collection of page ranges
QPageRanges::Range | QPageRanges::Range struct holds the from and to endpoints of a range
QPageSize | Describes the size and name of a defined page size
QPagedPaintDevice | Represents a paint device that supports multiple pages
QPaintDevice | The base class of objects that can be painted on with QPainter
QPaintDeviceWindow | Convenience subclass of QWindow that is also a QPaintDevice
QPaintEngine | Abstract definition of how QPainter draws to a given device on a given platform
QPaintEngineState | Information about the active paint engine's current state
QPaintEvent | Contains event parameters for paint events
QPainter | Performs low-level painting on widgets and other paint devices
QPainter::PixmapFragment | This class is used in conjunction with the QPainter::drawPixmapFragments() function to specify how a pixmap, or sub-rect of a pixmap, is drawn
QPainterPath | Container for painting operations, enabling graphical shapes to be constructed and reused
QPainterPath::Element | QPainterPath::Element class specifies the position and type of a subpath
QPainterPathStroker | Used to generate fillable outlines for a given painter path
QPalette | Contains color groups for each widget state
QPdfWriter | Class to generate PDFs that can be used as a paint device
QPen | Defines how a QPainter should draw lines and outlines of shapes
QPicture | Paint device that records and replays QPainter commands
QPixelFormat | Class for describing different pixel layouts in graphics buffers
QPixmap | Off-screen image representation that can be used as a paint device
QPixmapCache | Application-wide cache for pixmaps
QPixmapCache::Key | QPixmapCache::Key class can be used for efficient access to the QPixmapCache
QPlatformSurfaceEvent | Used to notify about native platform surface events
QPointerEvent | A base class for pointer events
QPointingDevice | Describes a device from which mouse, touch or tablet events originate
QPointingDeviceUniqueId | Identifies a unique object, such as a tagged token or stylus, which is used with a pointing device
QPolygon | List of points using integer precision
QPolygonF | List of points using floating point precision
QQuaternion | Represents a quaternion consisting of a vector and scalar
QRadialGradient | Used in combination with QBrush to specify a radial gradient brush
QRasterWindow | Convenience class for using QPainter on a QWindow
QRawFont | Access to a single physical instance of a font
QRegion | Specifies a clip region for a painter
QRegularExpressionValidator | Used to check a string against a regular expression
QResizeEvent | Contains event parameters for resize events
QRgba64 | Struct contains a 64-bit RGB color
QRgbaFloat | Struct contains a four part RGBA floating-point color
QRhi | Accelerated 2D/3D graphics API abstraction
QRhiBuffer | Vertex, index, or uniform (constant) buffer resource
QRhiBuffer::NativeBuffer | Contains information about the underlying native resources of a buffer
QRhiColorAttachment | Describes the a single color attachment of a render target
QRhiCommandBuffer | Command buffer resource
QRhiComputePipeline | Compute pipeline state resource
QRhiD3D11InitParams | Direct3D 11 specific initialization parameters
QRhiD3D11NativeHandles | Holds the D3D device and device context used by the QRhi
QRhiD3D12CommandBufferNativeHandles | Holds the ID3D12GraphicsCommandList object that is backing a QRhiCommandBuffer
QRhiD3D12InitParams | Direct3D 12 specific initialization parameters
QRhiD3D12NativeHandles | Holds the D3D12 device used by the QRhi
QRhiDepthStencilClearValue | Specifies clear values for a depth or stencil buffer
QRhiDriverInfo | Describes the physical device, adapter, or graphics API implementation that is used by an initialized QRhi
QRhiGles2InitParams | OpenGL specific initialization parameters
QRhiGles2NativeHandles | Holds the OpenGL context used by the QRhi
QRhiGraphicsPipeline | Graphics pipeline state resource
QRhiGraphicsPipeline::StencilOpState | Describes the stencil operation state
QRhiGraphicsPipeline::TargetBlend | Describes the blend state for one color attachment
QRhiInitParams | Base class for backend-specific initialization parameters
QRhiNativeHandles | Base class for classes exposing backend-specific collections of native resource objects
QRhiNullInitParams | Null backend specific initialization parameters
QRhiNullNativeHandles | Empty
QRhiReadbackDescription | Describes a readback (reading back texture contents from possibly GPU-only memory) operation
QRhiReadbackResult | Describes the results of a potentially asynchronous buffer or texture readback operation
QRhiRenderBuffer | Renderbuffer resource
QRhiRenderBuffer::NativeRenderBuffer | Wraps a native renderbuffer object
QRhiRenderPassDescriptor | Render pass resource
QRhiRenderTarget | Represents an onscreen (swapchain) or offscreen (texture) render target
QRhiResource | Base class for classes encapsulating native resource objects
QRhiResourceUpdateBatch | Records upload and copy type of operations
QRhiSampler | Sampler resource
QRhiScissor | Specifies a scissor rectangle
QRhiShaderResourceBinding | Describes the shader resource for a single binding point
QRhiShaderResourceBindings | Encapsulates resources for making buffer, texture, sampler resources visible to shaders
QRhiShaderStage | Specifies the type and the shader code for a shader stage in the pipeline
QRhiStats | Statistics provided from the underlying memory allocator
QRhiSwapChain | Swapchain resource
QRhiSwapChainHdrInfo | Describes the high dynamic range related information of the swapchain's associated output
QRhiSwapChainProxyData | Opaque data describing native objects needed to set up a swapchain
QRhiSwapChainRenderTarget | Swapchain render target resource
QRhiTexture | Texture resource
QRhiTexture::NativeTexture | Contains information about the underlying native resources of a texture
QRhiTextureCopyDescription | Describes a texture-to-texture copy operation
QRhiTextureRenderTarget | Texture render target resource
QRhiTextureRenderTargetDescription | Describes the color and depth or depth/stencil attachments of a render target
QRhiTextureSubresourceUploadDescription | Describes the source for one mip level in a layer in a texture upload operation
QRhiTextureUploadDescription | Describes a texture upload operation
QRhiTextureUploadEntry | Describes one layer (face for cubemaps, slice for 3D textures, element for texture arrays) in a texture upload operation
QRhiVertexInputAttribute | Describes a single vertex input element
QRhiVertexInputBinding | Describes a vertex input binding
QRhiVertexInputLayout | Describes the layout of vertex inputs consumed by a vertex shader
QRhiViewport | Specifies a viewport rectangle
QRhiVulkanCommandBufferNativeHandles | Holds the Vulkan command buffer object that is backing a QRhiCommandBuffer
QRhiVulkanInitParams | Vulkan specific initialization parameters
QRhiVulkanNativeHandles | Collects device, queue, and other Vulkan objects that are used by the QRhi
QRhiVulkanRenderPassNativeHandles | Holds the Vulkan render pass object backing a QRhiRenderPassDescriptor
QScreen | Used to query screen properties
QScrollEvent | Sent when scrolling
QScrollPrepareEvent | Sent in preparation of scrolling
QSessionManager | Access to the session manager
QShader | Contains multiple versions of a shader translated to multiple shading languages, together with reflection metadata
QShader::NativeShaderInfo | Additional metadata about the native shader code
QShader::SeparateToCombinedImageSamplerMapping | Mapping metadata for sampler uniforms
QShaderCode | Contains source or binary code for a shader and additional metadata
QShaderDescription | Describes the interface of a shader
QShaderDescription::BlockVariable | Describes a member of a uniform or push constant block
QShaderDescription::BuiltinVariable | Describes a built-in variable
QShaderDescription::InOutVariable | Describes an input or output variable in the shader
QShaderDescription::PushConstantBlock | Describes a push constant block
QShaderDescription::StorageBlock | Describes a shader storage block
QShaderDescription::UniformBlock | Describes a uniform block
QShaderKey | Specifies the shading language, the version with flags, and the variant
QShaderVersion | Specifies the shading language version
QShortcut | Used to create keyboard shortcuts
QShortcutEvent | Event which is generated when the user presses a key combination
QShowEvent | Event that is sent when a widget is shown
QSinglePointEvent | A base class for pointer events containing a single point, such as mouse events
QStandardItem | Item for use with the QStandardItemModel class
QStandardItemModel | Generic model for storing custom data
QStaticText | Enables optimized drawing of text when the text and its layout is updated rarely
QStatusTipEvent | Event that is used to show messages in a status bar
QStyleHints | Contains platform specific hints and settings
QSupportedWritingSystems | Used when registering fonts with the internal Qt fontdatabase
QSurface | Abstraction of renderable surfaces in Qt
QSurfaceFormat | Represents the format of a QSurface
QSyntaxHighlighter | Allows you to define syntax highlighting rules, and in addition you can use the class to query a document's current formatting or user data
QTabletEvent | Contains parameters that describe a Tablet event
QTextBlock | Container for text fragments in a QTextDocument
QTextBlock::iterator | QTextBlock::iterator class provides an iterator for reading the contents of a QTextBlock
QTextBlockFormat | Formatting information for blocks of text in a QTextDocument
QTextBlockGroup | Container for text blocks within a QTextDocument
QTextBlockUserData | Used to associate custom data with blocks of text
QTextCharFormat | Formatting information for characters in a QTextDocument
QTextCursor | Offers an API to access and modify QTextDocuments
QTextDocument | Holds formatted text
QTextDocumentFragment | Represents a piece of formatted text from a QTextDocument
QTextDocumentWriter | Format-independent interface for writing a QTextDocument to files or other devices
QTextFormat | Formatting information for a QTextDocument
QTextFragment | Holds a piece of text in a QTextDocument with a single QTextCharFormat
QTextFrame | Represents a frame in a QTextDocument
QTextFrameFormat | Formatting information for frames in a QTextDocument
QTextImageFormat | Formatting information for images in a QTextDocument
QTextInlineObject | Represents an inline object in a QAbstractTextDocumentLayout and its implementations
QTextItem | All the information required to draw text in a custom paint engine
QTextLayout | Used to lay out and render text
QTextLayout::FormatRange | QTextLayout::FormatRange structure is used to apply extra formatting information for a specified area in the text layout's content
QTextLength | Encapsulates the different types of length used in a QTextDocument
QTextLine | Represents a line of text inside a QTextLayout
QTextList | Decorated list of items in a QTextDocument
QTextListFormat | Formatting information for lists in a QTextDocument
QTextObject | Base class for different kinds of objects that can group parts of a QTextDocument together
QTextObjectInterface | Allows drawing of custom text objects in QTextDocuments
QTextOption | Description of general rich text properties
QTextOption::Tab
QTextTable | Represents a table in a QTextDocument
QTextTableCell | Represents the properties of a cell in a QTextTable
QTextTableCellFormat | Formatting information for table cells in a QTextDocument
QTextTableFormat | Formatting information for tables in a QTextDocument
QTouchEvent | Contains parameters that describe a touch event
QTransform | Specifies 2D transformations of a coordinate system
QUndoCommand | The base class of all commands stored on a QUndoStack
QUndoGroup | Group of QUndoStack objects
QUndoStack | Stack of QUndoCommand objects
QUtiMimeConverter | Converts between a MIME type and a Uniform Type Identifier (UTI) format
QValidator | Validation of input text
QVector2D | Represents a vector or vertex in 2D space
QVector3D | Represents a vector or vertex in 3D space
QVector4D | Represents a vector or vertex in 4D space
QVulkanDeviceFunctions | Cross-platform access to the device level core Vulkan 1.2 API
QVulkanExtension | Represents information about a Vulkan extension
QVulkanFunctions | Cross-platform access to the instance level core Vulkan 1.2 API
QVulkanInfoVector | A specialized QList for QVulkanLayer and QVulkanExtension
QVulkanInstance | Represents a native Vulkan instance, enabling Vulkan rendering onto a QSurface
QVulkanLayer | Represents information about a Vulkan layer
QVulkanWindow | Convenience subclass of QWindow to perform Vulkan rendering
QVulkanWindowRenderer | Used to implement the application-specific rendering logic for a QVulkanWindow
QWhatsThisClickedEvent | Event that can be used to handle hyperlinks in a "What's This?" text
QWheelEvent | Contains parameters that describe a wheel event
QWindow | Represents a window in the underlying windowing system
QWindowStateChangeEvent | The window state before a window state change
QWindowsMimeConverter | Maps open-standard MIME to Window Clipboard formats

## Detailed Description

The Qt GUI page contains information about how to use the module.