The KDE Frameworks

The KDE Frameworks build on the Qt framework, providing everything from simple utility classes (such as those in KCoreAddons) to integrated solutions for common requirements of desktop applications (such as KNewStuff, for fetching downloadable add-on content in an application, or the powerful KIO multi-protocol file access framework).

The KDE Frameworks can be used in CMake-based and QMake-based projects, and most of them are portable to at least Windows, Mac and Linux. The documentation of each framework has code snippets that show how to include the framework in a QMake or CMake project.

The frameworks are divided into four tiers, based on the kind of dependencies that they have. For instance, Tier 1 frameworks depend on Qt and possibly some third-party libraries, but not on other frameworks. This makes them easy to integrate into existing applications.

List of the libraries

Tier 1

Tier 1 frameworks depend only on Qt (and possibly a small number of other third-party libraries), so can easily be used by any Qt-based project.

Framework Maintainer Type
Android FreeBSD Linux Windows iOS macOS
Attica [QCH file]
Open Collaboration Services API
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
BluezQt [QCH file]
Qt wrapper for BlueZ 5 DBus API
David Rosca integration
Android FreeBSD Linux Windows iOS macOS
BreezeIcons [QCH file]
Breeze icon theme
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
ECM [QCH file]
Extra CMake modules
Stephen Kelly functional
Android FreeBSD Linux Windows iOS macOS
KApiDox [QCH file]
Scripts and data for building API documentation (dox) in a standard format and style
Olivier Churlaud functional
Android FreeBSD Linux Windows iOS macOS
KArchive [QCH file]
File compression
David Faure functional
Android FreeBSD Linux Windows iOS macOS
KCalendarCore [QCH file]
The KDE calendar access library
Volker Krause functional
Android FreeBSD Linux Windows iOS macOS
KCGroups [QCH file]
control cgroup resources through systemd dbus interface
Henri Chain integration
Android FreeBSD Linux Windows iOS macOS
KCodecs [QCH file]
Text encoding
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KConfig [QCH file]
Configuration system
Matthew Dawson functional
Android FreeBSD Linux Windows iOS macOS
KCoreAddons [QCH file]
Addons to QtCore
Michael Pyne functional
Android FreeBSD Linux Windows iOS macOS
KDBusAddons [QCH file]
Addons to QtDBus
David Faure functional
Android FreeBSD Linux Windows iOS macOS
KDNSSD [QCH file]
Abstraction to system DNSSD features
Matthew Dawson integration
Android FreeBSD Linux Windows iOS macOS
KGuiAddons [QCH file]
Addons to QtGui
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KHolidays [QCH file]
Holiday calculation library
Allen Winter functional
Android FreeBSD Linux Windows iOS macOS
KI18n [QCH file]
Advanced internationalization framework
Chusslove Illich functional
Android FreeBSD Linux Windows iOS macOS
KIdleTime [QCH file]
Monitoring user activity
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
Kirigami2 [QCH file]
QtQuick plugins to build user interfaces based on the KDE human interface guidelines
Marco Martin functional
Android FreeBSD Linux Windows iOS macOS
KItemModels [QCH file]
Models for Qt Model/View system
David Faure functional
Android FreeBSD Linux Windows iOS macOS
KItemViews [QCH file]
Widget addons for Qt Model/View
David Edmundson functional
Android FreeBSD Linux Windows iOS macOS
KPlotting [QCH file]
Lightweight plotting framework
Christoph Feck functional
Android FreeBSD Linux Windows iOS macOS
KQuickCharts [QCH file]
A QtQuick module providing high-performance charts.
Arjen Hiemstra functional
Android FreeBSD Linux Windows iOS macOS
KSyntaxHighlighting [QCH file]
Syntax Highlighting
Volker Krause functional
Android FreeBSD Linux Windows iOS macOS
KUserFeedback [QCH file]
User feedback framework
Volker Krause solution
Android FreeBSD Linux Windows iOS macOS
KWayland [QCH file]
Qt-style API to interact with the wayland-client and wayland-server API
Martin Flöser integration
Android FreeBSD Linux Windows iOS macOS
KWidgetsAddons [QCH file]
Addons to QtWidgets
Christoph Feck functional
Access to the windowing system The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
ModemManagerQt [QCH file]
Qt wrapper for ModemManager API
Jan Grulich,
Lamarque Souza,
Lukáš Tinkl
integration
Android FreeBSD Linux Windows iOS macOS
NetworkManagerQt [QCH file]
Qt wrapper for NetworkManager API
Jan Grulich,
Lamarque Souza,
Lukáš Tinkl
integration
Android FreeBSD Linux Windows iOS macOS
Oxygen-icons [QCH file]
Oxygen icon theme
Andreas Kainz functional
Android FreeBSD Linux Windows iOS macOS
Prison [QCH file]
Barcode abstraction layer providing uniform access to generation of barcodes
The KDE Community solution
Android FreeBSD Linux Windows iOS macOS
QQC2-Desktop-Style [QCH file]
QtQuickControls 2 style that integrates with the desktop
Marco Martin functional
Android FreeBSD Linux Windows iOS macOS
Solid [QCH file]
Hardware integration and detection
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
Sonnet [QCH file]
Support for spellchecking
Martin Tobias Holmedahl Sandsmark solution
Android FreeBSD Linux Windows iOS macOS
ThreadWeaver [QCH file]
High-level multithreading framework
Mirko Boehm functional

Tier 2

Tier 2 frameworks additionally depend on tier 1 frameworks, but still have easily manageable dependencies.

Framework Maintainer Type
Android FreeBSD Linux Windows iOS macOS
KActivities [QCH file]
Runtime and library to organize the user work in separate activities
Ivan Čukić solution
Android FreeBSD Linux Windows iOS macOS
KAuth [QCH file]
Abstraction to system policy and authentication features
David Edmundson integration
Android FreeBSD Linux Windows iOS macOS
KCompletion [QCH file]
Text completion helpers and widgets
David Gil Oliva functional
Android FreeBSD Linux Windows iOS macOS
KContacts [QCH file]
Support for vCard contacts
Laurent Montel functional
Android FreeBSD Linux Windows iOS macOS
KCrash [QCH file]
Support for application crash analysis and bug report from apps
David Faure integration
Android FreeBSD Linux Windows iOS macOS
KDocTools [QCH file]
Documentation generation from docbook
Luigi Toscano functional
Android FreeBSD Linux Windows iOS macOS
KFileMetaData [QCH file]
A file metadata and text extraction library
Stefan Brüns integration
Android FreeBSD Linux Windows iOS macOS
KImageFormats [QCH file]
Image format plugins for Qt
Alex Merry functional
Android FreeBSD Linux Windows iOS macOS
Kirigami-addons [QCH file]
Convergent visual components ("widgets") for Kirigami-based applications
David Edmundson functional
Android FreeBSD Linux Windows iOS macOS
KJobWidgets [QCH file]
Widgets for tracking KJob instances
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KNotifications [QCH file]
Abstraction for system notifications
Kai Uwe Broulik solution
Android FreeBSD Linux Windows iOS macOS
KPackage [QCH file]
Library to load and install packages of non binary files as they were a plugin
Marco Martin functional
Android FreeBSD Linux Windows iOS macOS
KPeople [QCH file]
Provides access to all contacts and the people who hold them
Aleix Pol Gonzalez functional
Android FreeBSD Linux Windows iOS macOS
KPty [QCH file]
Pty abstraction
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KUnitConversion [QCH file]
Support for unit conversion
John Layt functional
Android FreeBSD Linux Windows iOS macOS
Syndication [QCH file]
An RSS/Atom parser library
Frank Osterfeld functional

Tier 3

Tier 3 frameworks are generally more powerful, comprehensive packages, and consequently have more complex dependencies.

Framework Maintainer Type
Android FreeBSD Linux Windows iOS macOS
Baloo [QCH file]
Baloo is a file indexing and searching framework
The KDE Community solution
Android FreeBSD Linux Windows iOS macOS
KActivitiesStats [QCH file]
A library for accessing the usage data collected by the activities system.
Ivan Čukić solution
Android FreeBSD Linux Windows iOS macOS
KBookmarks [QCH file]
Support for bookmarks and the XBEL format
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KCMUtils [QCH file]
Utilities for working with KCModules
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KConfigWidgets [QCH file]
Widgets for configuration dialogs
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KDAV [QCH file]
An DAV protocol implementation with KJobs
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KDeclarative [QCH file]
Provides integration of QML and KDE Frameworks
Marco Martin functional
Android FreeBSD Linux Windows iOS macOS
KDED [QCH file]
Extensible deamon for providing system level services
David Faure solution
Android FreeBSD Linux Windows iOS macOS
KDESu [QCH file]
Integration with su for elevated privileges
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KEmoticons [QCH file]
Support for emoticons and emoticons themes
The KDE Community functional
Android FreeBSD Linux Windows iOS macOS
KGlobalAccel [QCH file]
Add support for global workspace shortcuts
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KIconThemes [QCH file]
Support for icon themes
Christoph Feck integration
Android FreeBSD Linux Windows iOS macOS
KInit [QCH file]
Process launcher to speed up launching KDE applications
David Faure solution
Android FreeBSD Linux Windows iOS macOS
KIO [QCH file]
Resource and network access abstraction
David Faure solution
Android FreeBSD Linux Windows iOS macOS
KNewStuff [QCH file]
Support for downloading application assets from the network
Dan Leinir Turthra Jensen solution
Android FreeBSD Linux Windows iOS macOS
KNotifyConfig [QCH file]
Configuration system for KNotify
David Edmundson integration
Android FreeBSD Linux Windows iOS macOS
KParts [QCH file]
Document centric plugin system
David Faure solution
Android FreeBSD Linux Windows iOS macOS
KRunner [QCH file]
Parallelized query system
Alexander Lohnau solution
Android FreeBSD Linux Windows iOS macOS
KService [QCH file]
Advanced plugin and service introspection
David Faure solution
Android FreeBSD Linux Windows iOS macOS
KTextEditor [QCH file]
Advanced embeddable text editor
Christoph Cullmann solution
Android FreeBSD Linux Windows iOS macOS
KTextWidgets [QCH file]
Advanced text editing widgets
Laurent Montel functional
Android FreeBSD Linux Windows iOS macOS
KWallet [QCH file]
Secure and unified container for user passwords
Valentin Rusu solution
Android FreeBSD Linux Windows iOS macOS
KXmlGui [QCH file]
User configurable main windows
David Faure integration
Android FreeBSD Linux Windows iOS macOS
Plasma [QCH file]
Plugin based UI runtime used to write primary user interfaces
Marco Martin solution
Android FreeBSD Linux Windows iOS macOS
Purpose [QCH file]
Offers available actions for a specific purpose
Aleix Pol Gonzalez integration

Tier 4

Tier 4 frameworks can be mostly ignored by application programmers; this tier consists of plugins acting behind the scenes to provide additional functionality or platform integration to existing frameworks (including Qt).

Framework Maintainer Type
Workspace and cross-framework integration plugins Àlex Fiestas integration

Porting Aids

Porting Aids frameworks provide code and utilities to ease the transition from kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this framework, new projects should avoid using these libraries.

Framework Maintainer Type
Android FreeBSD Linux Windows iOS macOS
KDELibs4Support [QCH file]
Porting aid from KDELibs4
The KDE Community solution
Android FreeBSD Linux Windows iOS macOS
KDesignerPlugin [QCH file]
Tool to generate custom widget plugins for Qt Designer/Creator
Alex Merry functional
Android FreeBSD Linux Windows iOS macOS
KDEWebKit [QCH file]
KDE Integration for QtWebKit
The KDE Community integration
Android FreeBSD Linux Windows iOS macOS
KHtml [QCH file]
KHTML APIs
Martin Tobias Holmedahl Sandsmark solution
Android FreeBSD Linux Windows iOS macOS
KJS [QCH file]
Support for JS scripting in applications
Bernd Buschinski functional
Android FreeBSD Linux Windows iOS macOS
KJsEmbed [QCH file]
Embedded JS
Bernd Buschinski functional
Android FreeBSD Linux Windows iOS macOS
KMediaPlayer [QCH file]
Plugin interface for media player features
Alex Merry integration
Android FreeBSD Linux Windows iOS macOS
Kross [QCH file]
Multi-language application scripting
The KDE Community solution
Android FreeBSD Linux Windows iOS macOS
KXmlRpcClient [QCH file]
Interaction with XMLRPC services
Daniel Vrátil functional