summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/README
blob: 347196a30c2f497563f95249a06030ee6793e6f6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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.