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
Android FreeBSD Linux Windows iOS macOS
Attica
Open Collaboration Services API
The KDE Community
Android FreeBSD Linux Windows iOS macOS
BluezQt
Qt wrapper for BlueZ 5 DBus API
The KDE Community
Android FreeBSD Linux Windows iOS macOS
BreezeIcons
Breeze icon theme
The KDE Community
Android FreeBSD Linux Windows iOS macOS
ECM
Extra CMake modules
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KApiDox
Scripts and data for building API documentation (dox) in a standard format and style
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KArchive
File compression
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCalendarCore
The KDE calendar access library
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCodecs
Text encoding
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KConfig
Configuration system
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCoreAddons
Addons to QtCore
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDBusAddons
Addons to QtDBus
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDNSSD
Abstraction to system DNSSD features
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KGlobalAccel
Add support for global workspace shortcuts
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KGuiAddons
Addons to QtGui
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KHolidays
Holiday calculation library
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KI18n
Advanced internationalization framework
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KIdleTime
Monitoring user activity
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Kirigami2
QtQuick plugins to build user interfaces based on the KDE human interface guidelines
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KItemModels
Models for Qt Model/View system
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KItemViews
Widget addons for Qt Model/View
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KPlotting
Lightweight plotting framework
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KQuickCharts
A QtQuick module providing high-performance charts.
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KSyntaxHighlighting
Syntax Highlighting
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KTextTemplate
Library to allow application developers to separate the structure of documents from the data they contain.
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KUserFeedback
User feedback framework
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KWidgetsAddons
Addons to QtWidgets
The KDE Community
Access to the windowing system The KDE Community
Android FreeBSD Linux Windows iOS macOS
ModemManagerQt
Qt wrapper for ModemManager API
The KDE Community
Android FreeBSD Linux Windows iOS macOS
NetworkManagerQt
Qt wrapper for NetworkManager API
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Oxygen-icons
Oxygen icon theme
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Prison
Barcode abstraction layer providing uniform access to generation of barcodes
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Solid
Hardware integration and detection
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Sonnet
Support for spellchecking
The KDE Community
Android FreeBSD Linux Windows iOS macOS
ThreadWeaver
High-level multithreading framework
The KDE Community

Tier 2

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

Framework Maintainer
Android FreeBSD Linux Windows iOS macOS
KAuth
Abstraction to system policy and authentication features
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KColorScheme
Classes to interact with KColorScheme
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCompletion
Text completion helpers and widgets
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KContacts
Support for vCard contacts
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCrash
Support for application crash analysis and bug report from apps
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDeclarative
Provides integration of QML and KDE Frameworks
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDocTools
Documentation generation from docbook
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KFileMetaData
A file metadata and text extraction library
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KImageFormats
Image format plugins for Qt
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KNotifications
Abstraction for system notifications
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KPackage
Library to load and install packages of non binary files as they were a plugin
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KPty
Pty abstraction
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KService
Library for querying installed applications and their associated file types
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KStatusNotifierItem
Implementation of Status Notifier Items
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KUnitConversion
Support for unit conversion
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Syndication
An RSS/Atom parser library
The KDE Community

Tier 3

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

Framework Maintainer
Android FreeBSD Linux Windows iOS macOS
Baloo
Baloo is a file indexing and searching framework
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KBookmarks
Support for bookmarks and the XBEL format
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KCMUtils
Utilities for working with KCModules
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KConfigWidgets
Widgets for configuration dialogs
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDAV
An DAV protocol implementation with KJobs
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDED
Extensible daemon for providing system level services
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KDESu
Integration with su for elevated privileges
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KIconThemes
Support for icon themes
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KIO
Resource and network access abstraction
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KJobWidgets
Widgets for tracking KJob instances
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KNewStuff
Support for downloading application assets from the network
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KNotifyConfig
Configuration system for KNotify
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KParts
Document centric plugin system
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KPeople
Provides access to all contacts and the people who hold them
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KRunner
Parallelized query system
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KSvg
A library for rendering SVG-based themes with stylesheet re-coloring and on-disk caching
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KTextEditor
Advanced embeddable text editor
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KTextWidgets
Advanced text editing widgets
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KWallet
Secure and unified container for user passwords
The KDE Community
Android FreeBSD Linux Windows iOS macOS
KXmlGui
User configurable main windows
The KDE Community
Android FreeBSD Linux Windows iOS macOS
Purpose
Offers available actions for a specific purpose
The KDE Community
Android FreeBSD Linux Windows iOS macOS
QQC2-Desktop-Style
QtQuickControls 2 style that integrates with the desktop
The KDE Community

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
Android FreeBSD Linux Windows iOS macOS
FrameworkIntegration
Workspace and cross-framework integration plugins
The KDE Community

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