首页 > 代码库 > QtCore Module's Classes

QtCore Module's Classes

Qt Core C++ Classes

Provides core non-GUI functionality. More...

Reference

These are links to the API reference materials.

  • C++ Classes
    • Animation Classes
    • Threading Classes
    • Container Classes
    • Plugin Classes
    • Implicitly Shared Classes
    • State Machine Classes
    • Input/Output Classes
    • Event Classes

Namespaces

Qt

Contains miscellaneous identifiers used throughout the Qt library

 

Animation Framework

This page lists classes belonging to Qt Core‘s animation framework.

QAbstractAnimation

The base of all animations

QAnimationGroup

Abstract base class for groups of animations

QEasingCurve

Easing curves for controlling animation

QParallelAnimationGroup

Parallel group of animations

QPauseAnimation

Pause for QSequentialAnimationGroup

QPropertyAnimation

Animates Qt properties

QSequentialAnimationGroup

Sequential group of animations

QTimeLine

Timeline for controlling animations

QVariantAnimation

Abstract base class for animations

 

 

Threading Classes

These Qt Core classes provide threading support to applications. The Thread Support in Qt page covers how to use these classes.

Concurrent Filter and Filter-Reduce

 

Concurrent Map and Map-Reduce

 

Concurrent Run

 

QAtomicInteger

Platform-independent atomic operations on integers

QAtomicPointer

Template class that provides platform-independent atomic operations on pointers

QFuture

Represents the result of an asynchronous computation

QFutureSynchronizer

Convenience class that simplifies QFuture synchronization

QFutureWatcher

Allows monitoring a QFuture using signals and slots

QMutex

Access serialization between threads

QMutexLocker

Convenience class that simplifies locking and unlocking mutexes

QReadLocker

Convenience class that simplifies locking and unlocking read-write locks for read access

QReadWriteLock

Read-write locking

QRunnable

The base class for all runnable objects

QSemaphore

General counting semaphore

QThread

Platform-independent way to manage threads

QThreadPool

Manages a collection of QThreads

QThreadStorage

Per-thread data storage

QWaitCondition

Condition variable for synchronizing threads

QWriteLocker

Convenience class that simplifies locking and unlocking read-write locks for write access

QtConcurrent

High-level APIs that make it possible to write multi-threaded programs without using low-level threading primitives

 

 

The Container Classes

Qt provides the following sequential containers: QList, QLinkedList, QVector, QStack, and QQueue. For most applications, QList is the best type to use. Although it is implemented as an array-list, it provides very fast prepends and appends. If you really need a linked-list, use QLinkedList; if you want your items to occupy consecutive memory locations, use QVector. QStack and QQueue are convenience classes that provide LIFO and FIFO semantics.

Qt also provides these associative containers: QMap, QMultiMap, QHash, QMultiHash, and QSet. The "Multi" containers conveniently support multiple values associated with a single key. The "Hash" containers provide faster lookup by using a hash function instead of a binary search on a sorted set.

As special cases, the QCache and QContiguousCache classes provide efficient hash-lookup of objects in a limited cache storage.

ClassSummary
QList<T>This is by far the most commonly used container class. It stores a list of values of a given type (T) that can be accessed by index. Internally, the QList is implemented using an array, ensuring that index-based access is very fast.

Items can be added at either end of the list using QList::append() and QList::prepend(), or they can be inserted in the middle using QList::insert(). More than any other container class, QList is highly optimized to expand to as little code as possible in the executable. QStringList inherits from QList<QString>.

QLinkedList<T>This is similar to QList, except that it uses iterators rather than integer indexes to access items. It also provides better performance than QList when inserting in the middle of a huge list, and it has nicer iterator semantics. (Iterators pointing to an item in a QLinkedList remain valid as long as the item exists, whereas iterators to a QList can become invalid after any insertion or removal.)
QVector<T>This stores an array of values of a given type at adjacent positions in memory. Inserting at the front or in the middle of a vector can be quite slow, because it can lead to large numbers of items having to be moved by one position in memory.
QStack<T>This is a convenience subclass of QVector that provides "last in, first out" (LIFO) semantics. It adds the following functions to those already present in QVector: push(), pop(), and top().
QQueue<T>This is a convenience subclass of QList that provides "first in, first out" (FIFO) semantics. It adds the following functions to those already present in QList: enqueue(), dequeue(), and head().
QSet<T>This provides a single-valued mathematical set with fast lookups.
QMap<Key, T>This provides a dictionary (associative array) that maps keys of type Key to values of type T. Normally each key is associated with a single value. QMap stores its data in Key order; if order doesn‘t matter QHash is a faster alternative.
QMultiMap<Key, T>This is a convenience subclass of QMap that provides a nice interface for multi-valued maps, i.e. maps where one key can be associated with multiple values.
QHash<Key, T>This has almost the same API as QMap, but provides significantly faster lookups. QHash stores its data in an arbitrary order.
QMultiHash<Key, T>This is a convenience subclass of QHash that provides a nice interface for multi-valued hashes.

 

 

Plugin Classes

These Qt Core classes deal with shared libraries, (for example, .so and DLL files), and with Qt plugins.

See the How to Create Qt Plugins page for more information.

Defining Plugins

The <QtPlugin> header file defines macros for defining plugins.

QAccessiblePlugin

Abstract base class for plugins provinding accessibility information for user interface elements

QGenericPlugin

Abstract base class for plugins

QGenericPluginFactory

Creates plugin drivers

QIconEnginePlugin

Abstract base for custom QIconEngine plugins

QImageIOPlugin

Defines an interface for writing an image format plugin

QLibrary

Loads shared libraries at runtime

QPluginLoader

Loads a plugin at run-time

QQmlExtensionPlugin

Abstract base for custom QML extension plugins

QScriptExtensionPlugin

Abstract base for custom QScript extension plugins

QSqlDriverPlugin

Abstract base for custom QSqlDriver plugins

QStylePlugin

Abstract base for custom QStyle plugins

 

 

Implicit Sharing

Warning: Be careful with copying an implicitly shared container (QMap, QVector, etc.) while you use STL-style iterator. See Implicit sharing iterator problem.

QBitArray

Array of bits

QBitmap

Monochrome (1-bit depth) pixmaps

QBrush

Defines the fill pattern of shapes drawn by QPainter

QByteArray

Array of bytes

QByteArrayList

List of byte arrays

QCache

Template class that provides a cache

QCollator

Compares strings according to a localized collation algorithm

QCollatorSortKey

Can be used to speed up string collation

QCommandLineOption

Defines a possible command-line option

QContiguousCache

Template class that provides a contiguous cache

QCursor

Mouse cursor with an arbitrary shape

QDBusPendingCall

Refers to one pending asynchronous call

QDBusUnixFileDescriptor

Holds one Unix file descriptor

QDateTime

Date and time functions

QDebug

Output stream for debugging information

QDir

Access to directory structures and their contents

QDnsDomainNameRecord

Stores information about a domain name record

QDnsHostAddressRecord

Stores information about a host address record

QDnsMailExchangeRecord

Stores information about a DNS MX record

QDnsServiceRecord

Stores information about a DNS SRV record

QDnsTextRecord

Stores information about a DNS TXT record

QFileInfo

System-independent file information

QFont

Specifies a font used for drawing text

QFontInfo

General information about fonts

QFontMetrics

Font metrics information

QFontMetricsF

Font metrics information

QGlyphRun

Direct access to the internal glyphs in a font

QGradient

Used in combination with QBrush to specify gradient fills

QHash

Template class that provides a hash-table-based dictionary

QHttpPart

Holds a body part to be used inside a HTTP multipart MIME message

QIcon

Scalable icons in different modes and states

QImage

Hardware-independent image representation that allows direct access to the pixel data, and can be used as a paint device

QKeySequence

Encapsulates a key sequence as used by shortcuts

QLinkedList

Template class that provides linked lists

QList

Template class that provides lists

QLocale

Converts between numbers and their string representations in various languages

QMap

Template class that provides a red-black-tree-based dictionary

QMimeType

Describes types of file or data, represented by a MIME type string

QMultiHash

Convenience QHash subclass that provides multi-valued hashes

QMultiMap

Convenience QMap subclass that provides multi-valued maps

QNetworkAddressEntry

Stores one IP address supported by a network interface, along with its associated netmask and broadcast address

QNetworkCacheMetaData

Cache information

QNetworkConfiguration

Abstraction of one or more access point configurations

QNetworkCookie

Holds one network cookie

QNetworkInterface

Listing of the host‘s IP addresses and network interfaces

QNetworkProxy

Network layer proxy

QNetworkProxyQuery

Used to query the proxy settings for a socket

QNetworkRequest

Holds a request to be sent with QNetworkAccessManager

QOpenGLDebugMessage

Wraps an OpenGL debug message

QPainterPath

Container for painting operations, enabling graphical shapes to be constructed and reused

QPalette

Contains color groups for each widget state

QPen

Defines how a QPainter should draw lines and outlines of shapes

QPersistentModelIndex

Used to locate data in a data model

QPicture

Paint device that records and replays QPainter commands

QPixmap

Off-screen image representation that can be used as a paint device

QPolygon

Vector of points using integer precision

QPolygonF

Vector of points using floating point precision

QProcessEnvironment

Holds the environment variables that can be passed to a program

QQueue

Generic container that provides a queue

QRawFont

Access to a single physical instance of a font

QRegExp

Pattern matching using regular expressions

QRegion

Specifies a clip region for a painter

QRegularExpression

Pattern matching using regular expressions

QRegularExpressionMatch

The results of a matching a QRegularExpression against a string

QRegularExpressionMatchIterator

Iterator on the results of a global match of a QRegularExpression object against a string

QSet

Template class that provides a hash-table-based set

QSqlField

Manipulates the fields in SQL database tables and views

QSqlQuery

Means of executing and manipulating SQL statements

QSqlRecord

Encapsulates a database record

QSslCertificate

Convenient API for an X509 certificate

QSslCertificateExtension

API for accessing the extensions of an X509 certificate

QSslCipher

Represents an SSL cryptographic cipher

QSslConfiguration

Holds the configuration and state of an SSL connection

QSslError

SSL error

QSslKey

Interface for private and public keys

QStack

Template class that provides a stack

QStaticText

Enables optimized drawing of text when the text and its layout is updated rarely

QStorageInfo

Provides information about currently mounted storage and drives

QString

Unicode character string

QStringList

List of strings

QTextBlockFormat

Formatting information for blocks of text in a QTextDocument

QTextBoundaryFinder

Way of finding Unicode text boundaries in a string

QTextCharFormat

Formatting information for characters in a QTextDocument

QTextCursor

Offers an API to access and modify QTextDocuments

QTextDocumentFragment

Represents a piece of formatted text from a QTextDocument

QTextFormat

Formatting information for a QTextDocument

QTextFrameFormat

Formatting information for frames in a QTextDocument

QTextImageFormat

Formatting information for images in a QTextDocument

QTextListFormat

Formatting information for lists in a QTextDocument

QTextTableCellFormat

Formatting information for table cells in a QTextDocument

QTextTableFormat

Formatting information for tables in a QTextDocument

QUrl

Convenient interface for working with URLs

QUrlQuery

Way to manipulate a key-value pairs in a URL‘s query

QVariant

Acts like a union for the most common Qt data types

QVector

Template class that provides a dynamic array

 

 

State Machine Classes

These Qt Core classes are part of the State Machine Framework.

QAbstractState

The base class of states of a QStateMachine

QAbstractTransition

The base class of transitions between QAbstractState objects

QEventTransition

QObject-specific transition for Qt events

QFinalState

Final state

QHistoryState

Means of returning to a previously active substate

QKeyEventTransition

Transition for key events

QMouseEventTransition

Transition for mouse events

QSignalTransition

Transition based on a Qt signal

QState

General-purpose state for QStateMachine

QStateMachine

Hierarchical finite state machine

QStateMachine::SignalEvent

Represents a Qt signal event

QStateMachine::WrappedEvent

Inherits QEvent and holds a clone of an event associated with a QObject

 

 

Input/Output and Networking

These Qt Core classes are used to handle input and output to and from external devices, processes, files etc. as well as manipulating files and directories.

QBuffer

QIODevice interface for a QByteArray

QDataStream

Serialization of binary data to a QIODevice

QDir

Access to directory structures and their contents

QFile

Interface for reading from and writing to files

QFileDevice

Interface for reading from and writing to open files

QFileInfo

System-independent file information

QFileSystemWatcher

Interface for monitoring files and directories for modifications

QIODevice

The base interface class of all I/O devices in Qt

QImageReader

Format independent interface for reading images from files or other devices

QImageWriter

Format independent interface for writing images to files or other devices

QProcess

Used to start external programs and to communicate with them

QProcessEnvironment

Holds the environment variables that can be passed to a program

QResource

Interface for reading directly from resources

QSaveFile

Interface for safely writing to files

QSettings

Persistent platform-independent application settings

QSocketNotifier

Support for monitoring activity on a file descriptor

QStorageInfo

Provides information about currently mounted storage and drives

QTemporaryDir

Creates a unique directory for temporary use

QTemporaryFile

I/O device that operates on temporary files

QTextDocumentWriter

Format-independent interface for writing a QTextDocument to files or other devices

QTextStream

Convenient interface for reading and writing text

QUrl

Convenient interface for working with URLs

QUrlQuery

Way to manipulate a key-value pairs in a URL‘s query

 

 

Event Classes

These Qt Core classes are used to create and handle events.

For more information see the Event System page.

QAbstractEventDispatcher

Interface to manage Qt‘s event queue

QActionEvent

Event that is generated when a QAction is added, removed, or changed

QBasicTimer

Timer events for objects

QChildEvent

Contains event parameters for child object events

QCloseEvent

Contains parameters that describe a close event

QContextMenuEvent

Contains parameters that describe a context menu event

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

QDynamicPropertyChangeEvent

Contains event parameters for dynamic property change events

QEnterEvent

Contains parameters that describe an enter event

QEvent

The base class of all event classes. Event objects contain event parameters

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

QFocusEvent

Contains event parameters for widget focus events

QGestureEvent

The description of triggered gestures

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

QIconDragEvent

Indicates that a main icon drag has begun

QInputEvent

The base class for events that describe user input

QInputMethodEvent

Parameters for input method events

QKeyEvent

Describes a key event

QMouseEvent

Contains parameters that describe a mouse event

QMoveEvent

Contains event parameters for move events

QNativeGestureEvent

Contains parameters that describe a gesture event

QPaintEvent

Contains event parameters for paint events

QResizeEvent

Contains event parameters for resize events

QScrollEvent

Sent when scrolling

QScrollPrepareEvent

Sent in preparation of scrolling

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

QStatusTipEvent

Event that is used to show messages in a status bar

QTabletEvent

Contains parameters that describe a Tablet event

QTimer

Repetitive and single-shot timers

QTimerEvent

Contains parameters that describe a timer event

QTouchEvent

Contains parameters that describe a touch event

QWhatsThisClickedEvent

Event that can be used to handle hyperlinks in a "What‘s This?" text

QWheelEvent

Contains parameters that describe a wheel event

QWindowStateChangeEvent

The window state before a window state change

 

QtCore Module's Classes