CINXE.COM
KDE Frameworks | Developer
<!doctype html><html itemscope itemtype=http://schema.org/WebPage lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=generator content="Hugo 0.141.0"><meta name=ROBOTS content="INDEX, FOLLOW"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><link rel=mask-icon href=/safari-pinned-tab.svg color=#1f99f3><meta name=msapplication-TileColor content="#1f99f3"><meta name=theme-color content="#1f99f3"><title>KDE Frameworks | Developer</title><meta property="og:url" content="/products/frameworks/"> <meta property="og:site_name" content="Developer"><meta property="og:title" content="KDE Frameworks"><meta property="og:description" content="The KDE Frameworks are a set of 83 add-on libraries for programming with Qt."><meta property="og:locale" content="en"><meta property="og:type" content="article"><meta property="article:section" content="products"><meta property="article:modified_time" content="2025-02-17T22:02:34+02:00"><meta property="og:image" content="/images/image-preview.png"><meta itemprop=name content="KDE Frameworks"><meta itemprop=description content="The KDE Frameworks are a set of 83 add-on libraries for programming with Qt."><meta itemprop=dateModified content="2025-02-17T22:02:34+02:00"><meta itemprop=wordCount content="493"><meta itemprop=image content="/images/image-preview.png"><meta name=twitter:card content="summary_large_image"><meta name=twitter:image content="/images/image-preview.png"><meta name=twitter:title content="KDE Frameworks"><meta name=twitter:description content="The KDE Frameworks are a set of 83 add-on libraries for programming with Qt."><link rel=stylesheet href=/scss/docsy/main.8a1e71bb7017d86ad6a5664cf72886ce11a2fb5567401aaffb10db469d576d91.css integrity="sha256-ih5xu3AX2GrWpWZM9yiGzhGi+1VnQBqv+xDbRp1XbZE="><link rel=preload href=/fonts/Inter.woff2 as=font crossorigin=anonymous><link rel=preload href=/fonts/glyph/glyph.ttf?5ea9rb as=font crossorigin=anonymous><link rel=preconnect href=https://cdn.kde.org/><link href=https://cdn.kde.org/breeze-icons/icons.css rel=stylesheet><link href=/scss/home.min.css rel=stylesheet><link href=/scss/framework.css rel=stylesheet></head><body class=td-page><header class=header><a href=#main class="visually-hidden-focusable p-3 mb-2 bg-secondary text-light text-decoration-underline position-fixed w-auto" style=z-index:1050;outline:revert>Skip to content</a><nav class="navbar navbar-expand-lg"><a class="kde-logo navbar-brand" href=/><span class=visually-hidden>Home</span> Developer </a><button class=navbar-toggler type=button data-bs-toggle=collapse data-bs-target=#navbarsExampleDefault aria-controls=navbarsExampleDefault aria-expanded=false aria-label="Toggle navigation"> <span class=navbar-toggler-icon></span></button><div class="collapse navbar-collapse" id=navbarsExampleDefault><ul class="navbar-nav col"><li class=nav-item><a class=nav-link href=/docs/><span>Documentation</span></a></li><li class=nav-item><a class=nav-link href=https://api.kde.org><span>API</span></a></li><li class=nav-item><a class=nav-link href=/hig/><span>KDE Human Interface Guidelines</span></a></li></ul></div></nav></header><div class="td-default td-outer"><main class=td-main id=main><section id=top class="small-top p-5"><div class="container text-center"><img src=https://kde.org/stuff/clipart/logo/kde-logo-white-blue-rounded-source.svg class="text-center img-fluid mt-5" width=100 height=100><h1>KDE Frameworks</h1><p>The KDE Frameworks are a set of 83 add-on libraries for programming with Qt.</p></div></section><article class="section-links container"><h2 class=h1>Get Started</h2><div class=row><div class="p-3 col-12 col-md-6"><a href=https://api.kde.org/frameworks/index.html class="shadow p-3 h-100"><h2>Developer Documentation</h2><p>Code an application in C++ with Qt and QML.</p></a></div><div class="p-3 col-12 col-md-6 h-100"><a class="shadow p-3" href=https://hig.kde.org/><h2>Design Guidelines</h2><p>Use our UI standards to their fullest for a flexible and consistent user experience if you are creating an app for the Linux desktop.</p></a></div></div></article><article class=container><div class="d-flex py-3 flex-lg-row flex-column"><div class=order-1><h1>Features</h1><p>The KDE Frameworks are add-on libraries for coding applications with Qt.</p><p>The individual Frameworks are well documented, tested and their API style will be familiar to Qt developers.</p><p>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.</p><p>The frameworks are cross-platform and function on Windows, Mac, Android and Linux.</p></div><div class="image align-self-center order-3 order-lg-0"><img src=platform-icons.png style=margin:auto;max-width:90%;height:auto alt="some operating systems supported by the KDE Frameworks"></div></div></article><article class=section-blue><div class="container py-3"><h2 class=h1>Organization</h2><p>The Frameworks have a clear dependency structure, divided into Categories and Tiers. The Categories refer to runtime dependencies:</p><p><b>Functional</b> elements have no runtime dependencies.<br><b>Integration</b> designates code that may require runtime dependencies for integration depending on what the OS or platform offers.<br><b>Solutions</b> have mandatory runtime dependencies.</p><p>The Tiers refer to compile-time dependencies on other Frameworks.</p><p><b>Tier 1</b> Frameworks have no dependencies within Frameworks and only need Qt and other relevant libraries.<br><b>Tier 2</b> Frameworks can depend only on Tier 1.<br><b>Tier 3</b> Frameworks can depend on other Tier 3 Frameworks as well as Tier 2 and Tier 1.</p></div></article><article class=section-green><div class="container py-3"><h2 class="h1 mb-5">Highlights:</h2><div><p><b>KArchive</b> 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!</p><p><b>ThreadWeaver</b> 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.</p><p><b>Breeze Icons</b>. KDE Frameworks includes two icon themes for your applications. Breeze icons is a modern, recognisable theme which fits in with all form factors.</p><p><b>KConfig</b> 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.</p><p><b>KI18n</b> adds Gettext support to applications, making it easier to integrate the translation workflow of Qt applications in the general translation infrastructure of many projects.</p><p><a href=/frameworks/kirigami><b>Kirigami</b></a> is a responsive UI framework for QML.</p></div></div></article><article class="container-fluid mx-auto" style=max-width:1400px><h2 class="h1 text-center">Examples</h2><div class="row my-3"><div class="col-12 col-sm-4 align-self-center"><p>GammaRay is a cross platform (Linux, Windows, Mac) inspection tool for Qt apps from KDAB. It uses <a href=https://api.kde.org/frameworks/syntax-highlighting/html/index.html>KSyntaxHighlighting</a> to colour text it shows.</p></div><img class="img-fluid col-12 col-sm-8" src=gammaray.png alt="screenshot of app GammaRay"></div><div class="row my-3"><div class="col-12 col-sm-4 order-sm-1 align-self-center"><p>LXQt is a simple desktop environment for Linux. It uses <a href=https://api.kde.org/frameworks/solid/html/>Solid</a> for hardware integration, <a href=https://api.kde.org/frameworks/kwindowsystem/html/>KWindowSystem</a> for window management and <a href=https://api.kde.org/frameworks/kidletime/html/>KIdleTime</a> for power management.</p><p>Good looks are added with <a href=https://invent.kde.org/frameworks/oxygen-icons>Oxygen Icons</a>, one of our icon theme frameworks.</p></div><img class="img-fluid col-12 col-sm-8 order-sm-0" src=lxqt.png alt="screenshot of the desktop environment LXQt"></div></article><article class=container-fluid><h1>Get The Frameworks</h1><div class=row><div class="p-2 col-12 col-md-4"><div class="shadow p-3 h-100"><h2>Latest Version</h2><p>Download the latest release</p><a href=https://www.kde.org/announcements/ target=_blank>Release Announcements</a></div></div><div class="p-2 col-12 col-md-4"><div class="shadow p-3 h-100"><h2>Build it Yourself</h2><p>Our tool to compile KDE software</p><a href=https://develop.kde.org/docs/getting-started/building/kde-builder-setup target=_blank>kde-builder</a></div></div><div class="p-2 col-12 col-md-4"><div class="shadow p-3 h-100"><h2>Linux Packages</h2><p>Linux distros already package KDE Frameworks</p><a href=https://community.kde.org/Get_KDE_Software_on_Your_Linux_Distro target=_blank>Binary Packages</a></div></div><div class="p-2 col-12 col-md-4"><div class="shadow p-3 h-100"><h2>Windows</h2><p>Our Craft tool builds KDE software on Windows and other platforms</p><a href=https://community.kde.org/Craft target=_blank>Craft</a></div></div><div class="p-2 col-12 col-md-4"><div class="shadow p-3 h-100"><h2>Android</h2><p>Use KDE Frameworks on mobile</p><a href=https://community.kde.org/Android target=_blank>Android Tutorial</a></div></div></div></article></main><div class=container-fluid><footer class="bg-dark py-5 row d-print-none"><div class=container-fluid><div class=row><div class="col-6 col-sm-4 text-xs-center order-sm-2"></div><div class="col-6 col-sm-4 text-end text-xs-center order-sm-3"></div><div class="col-12 col-sm-4 text-center py-2 order-sm-2"><small class=text-white>© 2025 The KDE Community CC-BY-SA-4.0</small></div></div></div></footer></div></div><script src=https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js integrity=sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz crossorigin=anonymous></script><script>window._site={},window._site.webWorker="/js/lunr-worker.min.js"</script><script src=/js/lunr.min.df84a2d58ea594c04a3371b48d020b55ea10284c2ec636e4e331965d7313e29b.js integrity="sha256-34Si1Y6llMBKM3G0jQILVeoQKEwuxjbk4zGWXXMT4ps=" crossorigin=anonymous></script><script src=/js/main.min.3efeba79ddd6babffb14ecb870952413d534076938303a074bb954d9bb00a858.js integrity="sha256-Pv66ed3Wur/7FOy4cJUkE9U0B2k4MDoHS7lU2bsAqFg=" crossorigin=anonymous></script><template id=copy-btn-template><button class=copy-code-btn data-bs-toggle=popover data-bs-placement=top data-bs-trigger="hover focus" data-bs-content="Copy to clipboard" data-clicked-content=Copied> <i class="icon icon_edit-copy"></i></button></template></body></html>