KDE Frameworks

Features

The KDE Frameworks are 80 add-on libraries for coding applications with Qt.

The individual Frameworks are well documented, tested and their API style will be familiar to Qt developers.

Frameworks are developed under the proven KDE governance model with a predictable release schedule, a clear and vendor neutral contributor process, open governance and flexible LGPL or MIT licensing.

The frameworks are cross-platform and function on Windows, Mac, Android and Linux.

Organization

The Frameworks have a clear dependency structure, divided into Categories and Tiers. The Categories refer to runtime dependencies:

Functional elements have no runtime dependencies.
Integration designates code that may require runtime dependencies for integration depending on what the OS or platform offers.
Solutions have mandatory runtime dependencies.

The Tiers refer to compile-time dependencies on other Frameworks.

Tier 1 Frameworks have no dependencies within Frameworks and only need Qt and other relevant libraries.
Tier 2 Frameworks can depend only on Tier 1.
Tier 3 Frameworks can depend on other Tier 3 Frameworks as well as Tier 2 and Tier 1.

Highlights:

KArchive offers support for many popular compression codecs in a self-contained, featureful and easy-to-use file archiving and extracting library. Just feed it files; there's no need to reinvent an archiving function in your Qt-based application!

ThreadWeaver offers a high-level API to manage threads using job- and queue-based interfaces. It allows easy scheduling of thread execution by specifying dependencies between the threads and executing them satisfying these dependencies, greatly simplifying the use of multiple threads.

Breeze Icons. KDE Frameworks includes two icon themes for your applications. Breeze icons is a modern, recogniseable theme which fits in with all form factors.

KConfig is a Framework to deal with storing and retrieving configuration settings. It features a group-oriented API. It works with INI files and XDG-compliant cascading directories. It generates code based on XML files.

KI18n adds Gettext support to applications, making it easier to integrate the translation workflow of Qt applications in the general translation infrastructure of many projects.

Kirigami is a responsive UI framework for QML.

Examples

GammaRay is a cross platform (Linux, Windows, Mac) inspection tool for Qt apps from KDAB. It uses KSyntaxHighlighting to colour text it shows.

LXQt is a simple desktop environment for Linux. It uses Solid for hardware integration, KWindowSystem for window management and KIdleTime for power management.

Good looks are added with Oxygen Icons, one of our icon theme frameworks.