Qt Platform Abstraction
QPA is the platform abstraction layer for Qt 5 and replaces QWS and the platform ports from Qt 4. You can learn about it at this video presentation:
- QPA - The Qt Platform Abstraction by Thomas Senyk.
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 (Qt 5 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.)
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.