KDE Libraries

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.

Tier 0

ECMExtra CMake modules

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.

AtticaOpen Collaboration Services API
BluezQtQt wrapper for BlueZ 5 DBus API
KArchiveFile compression
KCalendarCoreThe KDE calendar access library
KCodecsText encoding
KConfigConfiguration system
KCoreAddonsAddons to QtCore
KDBusAddonsAddons to QtDBus
KGlobalAccelAdd support for global workspace shortcuts
KGuiAddonsAddons to QtGui
KHolidaysHoliday calculation library
KI18nAdvanced internationalization framework
KIdleTimeMonitoring user activity
KirigamiQtQuick plugins to build user interfaces based on the KDE human interface guidelines
KItemModelsModels for Qt Model/View system
KItemViewsWidget addons for Qt Model/View
KPlottingLightweight plotting framework
KQuickChartsA QtQuick module providing high-performance charts
KSyntaxHighlightingSyntax Highlighting
KTextTemplateLibrary to allow application developers to separate the structure of documents from the data they contain
KUserFeedbackUser feedback framework
KWidgetsAddonsAddons to QtWidgets
KWindowSystemAccess to the windowing system
ModemManagerQtQt wrapper for ModemManager API
NetworkManagerQtQt wrapper for NetworkManager API
PrisonBarcode abstraction layer providing uniform access to generation of barcodes
SolidHardware integration and detection
SonnetSupport for spellchecking
ThreadWeaverHigh-level multithreading framework

Tier 2

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

KAuthAbstraction to system policy and authentication features
KColorSchemeClasses to interact with KColorScheme
KCompletionText completion helpers and widgets
KContactsSupport for vCard contacts
KCrashSupport for application crash analysis and bug report from apps
KDeclarativeProvides integration of QML and KDE Frameworks
KFileMetaDataA file metadata and text extraction library
KNotificationsAbstraction for system notifications
KPackageLibrary to load and install packages of non binary files as they were a plugin
KPtyPty abstraction
KServiceLibrary for querying installed applications and their associated file types
KStatusNotifierItemImplementation of Status Notifier Items
KUnitConversionSupport for unit conversion
SyndicationAn RSS/Atom parser library

Tier 3

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

BalooBaloo is a file indexing and searching framework
KBookmarksSupport for bookmarks and the XBEL format
KCMUtilsUtilities for working with KCModules
KConfigWidgetsWidgets for configuration dialogs
KDAVAn DAV protocol implementation with KJobs
KDESuIntegration with su for elevated privileges
KIconThemesSupport for icon themes
KIOResource and network access abstraction
KJobWidgetsWidgets for tracking KJob instances
KNewStuffSupport for downloading application assets from the network
KNotifyConfigConfiguration system for KNotify
KPartsDocument centric plugin system
KPeopleProvides access to all contacts and the people who hold them
KRunnerParallelized query system
KSvgA library for rendering SVG-based themes with stylesheet re-coloring and on-disk caching
KTextEditorAdvanced embeddable text editor
KTextWidgetsAdvanced text editing widgets
KWalletSecure and unified container for user passwords
KXMLGuiUser configurable main windows
PurposeOffers available actions for a specific purpose.

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).

FrameworkIntegrationWorkspace and cross-framework integration plugins.

Other Libraries

These libraries are also offered by the KDE Community but don't neccesarily provide the same quality standards and compatibility promises as the KDE Frameworks.

Plasma

LibPlasmaBuilding Blocks for Plasma
UnionA Qt style supporting both QtQuick and QtWidgets.

Other

md4qtHeader-only C++ library for parsing Markdown
Kirigami AddonsAdd-ons for the Kirigami framework