blob: 347196a30c2f497563f95249a06030ee6793e6f6 [file] [log] [blame]
The Qt Platform Abstraction - QPA
QPA is the platform abstraction layer for Qt 5 and replaces QWS and the
platform ports from Qt 4.
There is currently little documentation for QPA. The best approach for
developing a new platform plugin is to look at the other plugins and
see how they implement the APIs in question. The "minimal" plugin
is a good starting point. The xcb, windows, cocoa, and qnx plugins
are also actively developed and up to date.
QPA plugins are implemented by subclassing various QPlatform*
classes. There are two "root" classes: QPlatformIntegration for
window system integration and QPlatformTheme for deeper platform
theming and integration. QStyle is not a part of QPA.
There are no source or binary compatibility guarantees for the QPA
classes, meaning that a platform plugin is only guaranteed to work
with the Qt version it was developed against. API changes will
however only be made in minor releases. (5.1, 5.2, and so on.)
Class Overview:
QPlatformIntegration
QPlatformWindow
QPlatformBackingStore
QPlatformOpenGLContext
QPlatformSharedGraphicsCache
QPlatformFontDatabase
QPlatformClipboard
QPlatformDrag
QAbstractEventDispatcher
QPlatformInputContext
QPlatformAccessibility
QPlatformNativeInterface
QPlatformServices
QPlatformTheme
QPlatformMenu
QPlatformMenuBar
QPlatformDialogHelper
platform palettes
platform fonts
theme hints
src/platformsupport contains several helper classes for implementing
platform plugins on unix-like systems.