Frameworks/Overview
This page gives an overview of available libraries and solutions in KDE Frameworks 5.
Tier 1
The frameworks in Tier 1 have Qt as their sole dependency. They do not depend on each other, or on frameworks in other tiers.
ItemModels
The ItemModels framework contains data models on top of QAbstractItemModel that help in common tasks, such as sorting, proxying and filtering.
ItemModels contains useful classes such as a model for checkable or selectable items, recursive filtering and breadcrumb selection.
KArchive
KArchive offers easy packing and unpacking of files.
KArchive comes with support for a number of popular packing codecs, such as Tar, GZip, Zip, 7z and xz and offers a self-contained and easy to use library for archiving files.
KCodecs
KCodecs offers commonly used encoding algorithms, such as base64, uu and quoted-printable specifications.
A wrapper class for the most commonly used encoding and decoding algorithms. Currently there is support for encoding and decoding input using base64, uu and the quoted-printable specifications.
KConfig
The KConfig framework offers functionality around reading and writing configuration.
KConfig consists of two parts, KConfigCore and KConfigGui. KConfigCore offers an abstract API to configuration files. It allows grouping and transparent cascading and (de-)serialization. KConfigGui offers, on top of KConfigCore, shortcuts and configuration for some common cases, such as session and window restoration.
KCoreaddons
KCoreAddons offers many commonly used solutions for caching, ui, job handling, randomization, macros and strings and shell and user handling.
KCoreAddons's KSharedDataCache is a fast, memory-mapped inter-process cache for applications. It can be used for various datatypes and is optimized for fast access. KDirWatch allows to monitor the filesystem for changes, and is essential when writing event-driven code. KJob offers a flexible job-handling API, containing simple and composite jobs, job tracking and UI delegates. KRandom allows to create random number and strings, and to randomize sequences of data. KStringHandler and KMacroExpander allow for flexible text manipulation and contain some convenience API on top of QString. KShell allows for manipulation and parsing of shell commands.