path: root/src/plugins/platforms/README
diff options
authorMorten Johan Sorvig <>2012-03-22 11:21:32 +0100
committerQt by Nokia <>2012-03-23 09:48:04 +0100
commit96e89ddbf99f3d16869eee8fa1dcfd2a0992e674 (patch)
tree226d870a3c470a4f385cc94c1a52b6dbb2726e95 /src/plugins/platforms/README
parent70a88331519e6e6439ff23a9cc91b2e3f607acb6 (diff)
Add QPA readme.
Change-Id: Ibc3a95f3560af909a45d147098184c2194187932 Reviewed-by: Robin Burchell <> Reviewed-by: Samuel Rødal <> Reviewed-by: Bradley T. Hughes <>
Diffstat (limited to 'src/plugins/platforms/README')
1 files changed, 49 insertions, 0 deletions
diff --git a/src/plugins/platforms/README b/src/plugins/platforms/README
new file mode 100644
index 0000000000..b44d04f58c
--- /dev/null
+++ b/src/plugins/platforms/README
@@ -0,0 +1,49 @@
+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.
+The APIs provided by QPlatformIntegration are at this point (5.0 Alpha)
+mostly stable. QPlatformTheme still has ongoing development. 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:
+ QPlatformWindow
+ QPlatformBackingStore
+ QPlatformOpenGLContext
+ QPlatformSharedGraphicsCache
+ QPlatformFontDatabase
+ QPlatformClipboard
+ QPlatformDrag
+ QAbstractEventDispatcher
+ QPlatformInputContext
+ QPlatformAccessibility
+ QPlatformNativeInterface
+ QPlatformServices
+ QPlatformMenu
+ QPlatformMenuBar
+ QPlatformDialogHelper
+ platform palettes
+ platform fonts
+ theme hints
+src/platformsupport contains several helper classes for implementing
+platform plugins on unix-like systems.