Эта статья ссылается только на первичные источники . ( июль 2024 г. ) |
Оригинальный автор(ы) | КДЕ |
---|---|
Разработчик(и) | КДЕ |
Первоначальный выпуск | 1 июля 2014 г. ( 2014-07-01 ) |
Стабильный релиз | 6.10.0 [1] / 9 января 2025 г. ( 9 января 2025 г. ) |
Репозиторий |
|
Написано в | C++ ( Qt ) |
Операционная система | Кроссплатформенность (включая «частичную» поддержку Android , [2] [3] Windows , [4] macOS и Haiku ) |
Тип | |
Лицензия | GNU Lesser General Public License (LGPL) [5] |
Веб-сайт | api.kde.org/frameworks/index.html |
KDE Frameworks — это коллекция библиотек и программных фреймворков, легко доступных для любых программных стеков или приложений на основе Qt в нескольких операционных системах . [6] Коллекция содержит часто необходимые функциональные решения, такие как интеграция оборудования, поддержка форматов файлов, дополнительные графические элементы управления , функции построения графиков и проверка орфографии , и служит технологической основой для KDE Plasma и KDE Gear . Она распространяется по лицензии GNU Lesser General Public License (LGPL). [7]
KDE Frameworks основан на Qt, что позволяет более широко использовать QML , более простой декларативный язык программирования на основе JavaScript , для проектирования пользовательских интерфейсов. Графический движок рендеринга, используемый QML, позволяет создавать более гибкие пользовательские интерфейсы на разных устройствах. [8]
После разделения KDE Software Compilation на KDE Frameworks 5, KDE Plasma 5 и KDE Applications каждый подпроект может выбирать свой собственный темп разработки. KDE Frameworks выпускаются ежемесячно [9] и используют Git . [10] [11]
Должна быть возможность устанавливать KDE Frameworks вместе с KDE Platform 4, чтобы приложения могли использовать любой из них. [12]
Выпуски платформы — это те, которые начинают серию (номер версии X.0). Только этим основным выпускам разрешено нарушать бинарную совместимость с предшественником. Выпуски в младших сериях (X.1, X.2, ...) гарантируют бинарную переносимость ( API и ABI ). Это означает, например, что программное обеспечение, разработанное для KDE 3.0, будет работать во всех (будущих) выпусках KDE 3; однако приложение, разработанное для KDE 2, не гарантирует, что сможет использовать библиотеки KDE 3. Номера основных версий KDE в основном следуют циклу выпуска Qt, что означает, что KDE SC 4 основан на Qt 4, в то время как KDE 3 основан на Qt 3.
Репозиторий каждого фреймворка должен содержать файл с именем metainfo.yaml . [13] Этот файл документирует мейнтейнера фреймворка, тип, поддерживаемую операционную систему и другую информацию. В настоящее время поддерживаются платформы Linux, Microsoft Windows, macOS и Android.
Этот раздел необходимо обновить . Пожалуйста ( Октябрь 2021 г.) |
Фреймворки имеют четкую структуру зависимостей, разделенную на «категории» и «уровни». «Категории» относятся к зависимостям времени выполнения:
Пакет KDE Frameworks состоит из более чем 70 пакетов. Они существовали как один большой пакет, называемый kdelibs, в KDE SC 4. Kdelibs был разделен на несколько отдельных фреймворков, некоторые из которых больше не являются частью KDE, но были интегрированы в Qt 5.2. [14]
Фреймворки KDE сгруппированы в четыре различных уровня в соответствии с зависимостью от других библиотек. [15] [16]
Имя | Уровень | Git- репозиторий | Описание |
---|---|---|---|
Frameworkинтеграция | 4 | frameworkintegration.git | Framework Integration — это набор плагинов, отвечающих за лучшую интеграцию приложений Qt при запуске в рабочей области KDE Plasma. Приложениям не нужно ссылаться на нее напрямую. Библиотека KF5Style обеспечивает интеграцию с настройками рабочей области KDE Plasma для стилей Qt. Выведите свой стиль Qt из KStyle, чтобы автоматически наследовать различные настройки из рабочей области KDE Plasma, обеспечивая единообразный пользовательский интерфейс. Например, это обеспечит единообразную настройку активации одним или двумя щелчками и использование стандартных тематических значков. |
KActivities | 3 | kactivities.git | Основные компоненты диспетчера действий KDE Activities. |
KApiDox | 4 | kapidox.git | Скрипты и данные для создания документации API в стандартном формате и стиле. Этот фреймворк содержит скрипты и данные для создания документации API (dox) в стандартном формате и стиле. Инструмент Doxygen используется для фактического извлечения и форматирования документации, но этот фреймворк предоставляет скрипт-обертку для более удобного создания документации (включая чтение настроек из целевого фреймворка или другого модуля) и стандартный шаблон для созданной документации. |
KАрхив | 1 | karchive.git | Классы для удобного чтения, создания и обработки форматов «архивов», включая zip и tar . |
KAuth | 2 | kauth.git | Предоставляет удобный, интегрированный в систему способ передачи действий, которые необходимо выполнять от имени привилегированного пользователя, небольшим вспомогательным утилитам. |
KЗакладки | 3 | kbookmarks.git | KBookmarks позволяет вам получать доступ и управлять закладками, сохраненными с использованием "формата XBEL". Наиболее распространенное использование закладок — веб-браузеры, но это также может быть полезно в любом приложении, где локальные файлы или URL-адреса могут быть сохранены в качестве закладок. |
KCMUtils | 3 | kcmutils.git | Утилиты, например KSettings, для модулей системных настроек KDE. KCMUtils предоставляет различные классы для работы с KCModules. KCModules можно создавать с помощью фреймворка KConfigWidgets. |
KКодеки | 1 | kcodecs.git | KCodecs — это библиотека кодирования строк, она предоставляет набор методов для манипулирования строками с использованием различных кодировок. Она может автоматически определять кодировку строки, переводить XML-сущности, проверять адреса электронной почты и находить кодировки по имени более толерантным способом, чем QTextCodec (полезно, например, для данных, поступающих из Интернета). |
KЗавершение | 2 | kcompletion.git | Фреймворк автодополнения строк, включая lineedit с поддержкой автодополнения и combobox. При вводе имен файлов, адресов электронной почты и другого текста, когда пользователь часто хочет выбрать из существующих данных (включая то, что он ранее набрал), а не вводить что-то полностью оригинальное, пользователи часто считают полезным, если им нужно ввести только первые несколько символов, а затем приложение предлагает им набор вариантов или пытается закончить то, что они набирали. Клиенты электронной почты, оболочки и диалоги «открыть файл» часто предоставляют эту функциональность. Этот фреймворк помогает реализовать это в приложениях на основе Qt. Вы можете использовать один из готовых к автодополнению виджетов, предоставляемых этим фреймворком, или напрямую интегрировать его в другие виджеты вашего приложения. Самый простой способ начать — использовать KComboBox, KHistoryComboBox или KLineEdit. Если вы хотите интегрировать автодополнение в другие части пользовательского интерфейса, вы можете использовать KCompletion для управления и выбора возможных автодополнений. |
KКонфиг | 1 | kconfig.git | Постоянные платформенно-независимые настройки приложения, состоящие из двух частей: KConfigCore и KConfigGui. KConfigCore предоставляет доступ к самим файлам конфигурации, то есть он также генерирует конфигурацию в формате XML . KConfigGui предоставляет способ привязать графические элементы управления (виджеты) к конфигурации, чтобы они автоматически инициализировались из конфигурации и автоматически распространяли свои изменения в соответствующие файлы конфигурации. |
KConfigWidgets | 3 | kconfigwidgets.git | Графические элементы управления (виджеты) для диалогов конфигурации. Виджеты для диалогов конфигурации. KConfigWidgets предоставляет простые в использовании классы для создания диалогов конфигурации, а также набор виджетов, которые используют KConfig для хранения своих настроек. |
KCoreAddons | 1 | kcoreaddons.git | Утилиты для основных функций приложения и доступа к ОС. Библиотека дополнений Qt с набором утилит, не являющихся графическим интерфейсом. KCoreAddons предоставляет классы, построенные на основе QtCore, для выполнения различных задач, таких как манипулирование типами MIME, автоматическое сохранение файлов, создание резервных копий, генерация случайных последовательностей, выполнение текстовых манипуляций, таких как замена макросов, доступ к пользовательской информации и многое другое. |
KCrash | 2 | kcrash.git | Обеспечивает поддержку перехвата и обработки сбоев приложений. |
KDBusAddons | 1 | kdbusaddons.git | KDBusAddons предоставляет удобные классы DBus поверх QtDBus, а также API для создания модулей KDED. |
KДекларативный | 3 | kdeclarative.git | Дополнение для Qt declarative |
КДЕД | 3 | kded.git | KDED означает KDE Daemon, центральный демон рабочих пространств KDE. KDED работает в фоновом режиме и выполняет ряд небольших задач. Некоторые из этих задач встроены, другие запускаются по требованию. |
KDesignerПлагин | 3 | kdesignerplugin.git | Этот фреймворк предоставляет плагины для Qt Designer, которые позволяют отображать виджеты, предоставляемые различными фреймворками KDE, а также утилиту (kgendesignerplugin), которую можно использовать для генерации других подобных плагинов из файлов описаний в стиле ini. |
KDESu | 3 | kdesu.git | KDESU (суперпользователь KDE) предоставляет пользовательский интерфейс для запуска команд оболочки с привилегиями root. Он предоставляет функциональность для создания графических интерфейсов для программ консольного режима (запрашивающих пароль). Например, kdesu и kdessh используют его для взаимодействия с su и ssh соответственно. |
KDEWebkit | 3 | kdewebkit.git | Интеграция HTML-движка рендеринга WebKit . Библиотека KDEWebkit обеспечивает интеграцию библиотеки QtWebKit с KDE. Если вы используете QtWebKit в своем приложении KDE, вам рекомендуется использовать этот слой вместо использования классов QtWebKit напрямую. В частности, вам следует использовать KWebView вместо QWebView, KGraphicsWebView вместо QGraphicsWebView и KWebPage вместо QWebPage. |
KDNSSDFramework | 2 | kdnssd.git | KDNSSD — это библиотека для обработки протокола обнаружения служб на основе DNS ( DNS-SD ), уровня [Zeroconf] (http://www.zeroconf.org), который позволяет обнаруживать сетевые службы, такие как принтеры, без вмешательства пользователя или централизованной инфраструктуры. |
KDocTools | 2 | kdoctools.git | Предоставляет инструменты для создания документации в различных форматах из файлов DocBook. |
Kэмотиконы | 3 | kemoticons.git | Предоставляет темы смайликов, а также вспомогательные классы для автоматического преобразования текстовых смайликов в графические. |
KGlobalAccel | 1 | kglobalaccel.git | KGlobalAccel позволяет вам иметь глобальные сочетания клавиш (акселераторы), которые не зависят от окна, находящегося в фокусе. В отличие от обычных сочетаний клавиш, для их активации не требуется фокус окна приложения. |
KGuiAddons | 1 | kguiaddons.git | Дополнения к графическому интерфейсу пользователя KDE; Утилиты для графических пользовательских интерфейсов; Дополнения к графическому интерфейсу пользователя KDE предоставляют утилиты для графических пользовательских интерфейсов в области цветов, шрифтов, текста, изображений и ввода с клавиатуры. |
KHTML | 4 | khtml.git | KHTML — это движок рендеринга HTML, от которого произошел WebKit. Он основан на технологии KParts и использует KJS для поддержки JavaScript. |
Ки18н | 1 | ki18n.git | Интернационализация текста пользовательского интерфейса на основе KDE gettext. KI18n предоставляет функциональность для интернационализации текста пользовательского интерфейса в приложениях на основе системы перевода GNU Gettext . Он оборачивает стандартную функциональность Gettext, так что программисты и переводчики могут использовать знакомые инструменты и рабочие процессы Gettext. KI18n также предоставляет дополнительную функциональность как для программистов, так и для переводчиков, которая может помочь достичь более высокого общего качества исходного и переведенного текста. Сюда входит захват аргументов, настраиваемая разметка и скрипты перевода. |
KIconТемы | 3 | kiconthemes.git | Эта библиотека содержит классы для улучшения обработки иконок в приложениях, использующих KDE Frameworks. |
KIdleTime | 1 | kidletime.git | Интеграционный модуль для обнаружения простоев. |
KImageFormats | 1 | kimageformats.git | Плагины, позволяющие QImage поддерживать дополнительные форматы файлов. Этот фреймворк предоставляет дополнительные плагины форматов изображений для QtGui. Как таковой, он не требуется для компиляции любого другого программного обеспечения, но может быть требованием времени выполнения для программного обеспечения на основе Qt для поддержки определенных форматов изображений. Следующие форматы изображений поддерживают только чтение:
Поддерживаются чтение и запись следующих форматов изображений:
|
КИнит | 3 | kinit.git | kdeinit — это загрузчик процессов, который запускает процессы путем разветвления и последующей загрузки динамической библиотеки, которая должна содержать функцию 'kdemain(...)'. kdeinit ускоряет запуск приложений в рабочих пространствах KDE; kdeinit связан со всеми библиотеками, необходимыми стандартному приложению KDE. Благодаря этой технике запуск приложения становится намного быстрее, поскольку теперь нужно связать только само приложение, тогда как в противном случае нужно связать и приложение, и все используемые им библиотеки. |
КИО | 3 | kio.git | Сетевой прозрачный доступ к файлам и данным. Эта структура реализует почти все функции управления файлами, которые вам когда-либо понадобятся. Dolphin и диалог файлов KDE также используют это для предоставления своего сетевого управления файлами. |
Киригами | 1 | киригами.git | Набор плагинов QtQuick для создания пользовательских интерфейсов на основе рекомендаций KDE UX |
KItemModels | 1 | kitemmodels.git | Набор моделей элементов, расширяющих фреймворк Qt model-view. KItemModels предоставляет следующие модели:
|
KItemViews | 1 | kitemviews.git | Набор представлений элементов, расширяющих фреймворк модель-представление Qt. KItemViews включает набор представлений, которые можно использовать с моделями элементов. Он включает представления для категоризации списков и добавления фильтров поиска к плоским и иерархическим спискам. |
KJobWidgets | 2 | kjobwidgets.git | KJobWIdgets предоставляет виджеты для отображения хода выполнения асинхронных заданий. |
КЖС | 1 | kjs.git | KJS предоставляет совместимый с ECMAScript интерпретатор. Стандарт ECMA основан на известных языках сценариев, таких как JavaScript от Netscape и JScript от Microsoft. |
KJSВстроить | 3 | kjsembed.git | KSJEmbed предоставляет метод привязки объектов JavaScript к QObjects, что позволяет вам писать скрипты для своих приложений. |
KMediaPlayer | 3 | kmediaplayer.git | Устаревший : Интерфейс для медиаплеера KParts. KMediaPlayer создан на основе фреймворка KParts, чтобы предоставить общий интерфейс для KParts, который может воспроизводить медиафайлы. Этот фреймворк является средством портирования. Он не рекомендуется для новых проектов, а существующим проектам, которые его используют, рекомендуется отказаться от него и использовать вместо него простой KParts. |
KNewStuff | 3 | knewstuff.git | Фреймворк для загрузки и совместного использования дополнительных данных приложений. Библиотека KNewStuff реализует совместное совместное использование данных для приложений. Она использует libattica для поддержки спецификации Open Collaboration Services. Attica — это библиотека Qt, реализующая API Open Collaboration Services версии 1.6. Она обеспечивает легкий доступ к таким сервисам, как запрос информации о лицах и контенте. |
KУведомления | 3 | knotifications.git | Решение с абстракцией для системных уведомлений. |
KNotifyConfig | 3 | knotifyconfig.git | Модуль для настройки KNotify. |
KParts | 3 | kparts.git | Библиотека KParts реализует фреймворк для частей KDE. Один отдельный компонент пользовательского интерфейса называется KPart и представляет собой некий сложный виджет с пользовательским интерфейсом, определенным в терминах действий (пункты меню, значки панели инструментов). KParts аналогичны компонентам Bonobo в GNOME и элементам управления ActiveX в Component Object Model Microsoft . Konsole доступен как KPart и используется в таких приложениях, как Konqueror и Kate . Примеры использования KParts:
Дополнительная документация:
|
KПлоттинг | 1 | kplotting.git | KPlotWidget — это класс, производный от QWidget, который предоставляет виртуальный базовый класс для легкого построения графиков данных. Идея KPlotWidget заключается в том, что у вас есть только для указания информации в «единицах данных»; т. е. естественных единицах данных, которые выводятся на график. KPlotWidget автоматически преобразует все в экранные пиксельные единицы. KPlotWidget рисует оси X и Y с делениями и метками делений. Он автоматически определяет, сколько делений использовать и где они должны быть, на основе пределов данных, указанных для графика. Вы можете изменить пределы, вызвав `setLimits(double x1, double x2, double y1, double y2)`. Данные для построения графика хранятся с помощью класса KPlotObject. KPlotObject состоит из QList QPointF, каждый из которых указывает координаты X,Y точки данных. KPlotObject также указывает «тип» данных для построения графика (ТОЧКИ или КРИВАЯ или МНОГОУГОЛЬНИК или МЕТКА). |
КПти | 2 | kpty.git | Взаимодействие с псевдотерминальными устройствами. Эта библиотека предоставляет примитивы для взаимодействия с псевдотерминальными устройствами, а также производный класс KProcess для запуска дочерних процессов и связи с ними с помощью pty. |
Кросс | 3 | кросс.git | Встраивание скриптов в приложения. Kross — это скриптовый мост для встраивания функциональности скриптов в приложение. Он поддерживает QtScript как бэкэнд интерпретатора скриптов. Ядро Kross обеспечивает структуру для прозрачной работы с бэкэндами интерпретаторов и предлагает абстрактную функциональность для работы со скриптами. |
KRunner | 3 | круннер.git | Framework для предоставления различных действий по запросу строки. Framework для Plasma runners. Рабочее пространство Plasma предоставляет приложение под названием KRunner, которое, среди прочего, позволяет вводить текст в текстовую область, что вызывает появление различных действий и информации, соответствующих тексту, по мере его ввода. Одним из приложений для этого является универсальный runner, который можно запустить с помощью ALT+ F2. |
KСервис | 3 | kservice.git | KService предоставляет фреймворк плагинов для обработки настольных служб. Службы могут быть приложениями или библиотеками. Они могут быть привязаны к типам MIME или обрабатываться кодом, специфичным для приложения. |
KSyntaxПодсветка | 1 | подсветка синтаксиса.git | Это автономная реализация движка подсветки синтаксиса Kate. Она предназначена как строительный блок для текстовых редакторов, а также для простого рендеринга выделенного текста (например, как HTML), поддерживая как интеграцию с пользовательским редактором, так и готовый к использованию подкласс QSyntaxHighlighter. |
KTextEditor | 3 | ktexteditor.git | KTextEditor предоставляет мощный компонент текстового редактора, который вы можете встроить в свое приложение, либо как KPart, либо используя библиотеку KF5::TextEditor (если вам нужно больше контроля). Компонент текстового редактора содержит множество полезных функций, от подсветки синтаксиса и автоматического отступа до расширенной поддержки скриптов, что делает его подходящим для всего: от простого встроенного редактора текстовых файлов до продвинутой IDE. |
KTextWidgets | 3 | ktextwidgets.git | KTextWidgets предоставляет виджеты для отображения и редактирования текста. Он поддерживает как форматированный текст, так и простой текст. |
KUnitКонверсия | 2 | kunitconversion.git | KUnitConversion предоставляет функции для преобразования значений в различных физических единицах. Он поддерживает преобразование различных префиксов (например, кило, мега, гига), а также преобразование между различными системами единиц (например, литры, галлоны). Поддерживаются следующие области:
|
KWalletFramework | 3 | kwallet.git | Безопасное хранилище паролей на рабочем столе. Эта структура содержит два основных компонента:
|
KWayland | 1 | kwayland.git | KWayland — это библиотека KDE для реализации поддержки Wayland в приложениях KDE, она удовлетворяет потребности, выходящие за рамки того, что предоставляет QtWayland . Все приложения KDE в сеансе plasma-wayland-session используют эту библиотеку, а также, возможно, LXQt. KWayland является частью KDE Frameworks с версии 5.22 (май 2016 г.); ранее она распространялась как часть KDE Plasma 5. |
KWidgetsAddons | 1 | kwidgetsaddons.git | Дополнение с различными классами поверх QtWidgets. Если вы портируете приложения из библиотеки KDE Platform 4 "kdeui", вы найдете здесь множество ее классов. Предоставляются классы действий, которые можно добавлять на панели инструментов или в меню, широкий спектр виджетов для выбора символов, шрифтов, цветов, действий, дат и времени или типов MIME, а также диалоги с учетом платформы для страниц конфигурации, окон сообщений и запросов паролей. Дополнительные виджеты и классы можно найти в других фреймворках KDE. |
KWindowSystem | 1 | kwindowsystem.git | Позволяет взаимодействовать с оконной системой . Предоставляет NETRootInfo для доступа к глобальному состоянию (всему, что установлено в корневом окне) и NETWinInfo для всей информации о конкретном окне. Классы имеют оконный менеджер и клиентскую перспективу. Это основа, на которой работают KWin и различные части графической оболочки, такие как диспетчер задач. [17] Помимо этих специфичных для X11 классов у нас есть удобный API KWindowInfo и KWindowSystem, который предоставляет независимый от оконной системы API для наших приложений. |
KXMLGUI | 3 | kxmlgui.git | KXMLGUI предоставляет фреймворк для управления действиями меню и панели инструментов абстрактным способом. Действия настраиваются с помощью описания XML и хуков в коде приложения. Фреймворк поддерживает слияние нескольких описаний, например, для интеграции действий из плагинов. KXMLGui использует функционал авторизации Kiosk KConfig (см. пространство имен KAuthorized в этом фреймворке). В частности, экземпляры QAction, добавленные в KActionCollection, отключаются, если KAuthorized::authorizeAction() сообщает, что они не авторизованы. Элементы стандартного меню справки (KHelpMenu) также могут быть отключены на основе настроек Kiosk, а редактирование панели инструментов может быть ограничено. Для получения дополнительной информации см. документацию KActionCollection, KHelpMenu и KToolBar. |
Plasma-каркас | 3 | плазменный-фреймворк.git | Базовые библиотеки, компоненты среды выполнения и инструменты рабочих пространств KDE Plasma на основе KF5 и Qt5. Фреймворк Plasma предоставляет следующее:
|
Тюрьма | 1 | тюрьма.git | Prison — это основанный на Qt уровень/библиотека абстракции штрихкодов, обеспечивающая единообразный доступ к созданию штрихкодов с данными. |
Твердый | 1 | solid.git | Solid предоставляет способ запроса и взаимодействия с оборудованием независимо от базовой операционной системы. Он предоставляет следующие возможности для разработчиков приложений:
|
Сонет | 1 | сонет.git | Sonnet — это библиотека проверки орфографии на основе плагинов для приложений на основе Qt. Она поддерживает несколько различных плагинов, включая HSpell, Enchant, ASpell и HUNSPELL. Она также поддерживает автоматическое определение языка на основе комбинации различных алгоритмов. Самый простой способ использовать Sonnet в вашем приложении — использовать класс SpellCheckDecorator в вашем QTextEdit. |
Синдикация | 2 | синдикация.git | Syndication — это библиотека парсера RSS/Atom. |
ThreadWeaver | 1 | threadweaver.git | ThreadWeaver — это очередь заданий. Он выполняет задания в потоках, которыми он управляет изнутри. |
Kirigami — это фреймворк приложений QML [18], разработанный Марко Мартином [19] , который позволяет разработчикам писать приложения, которые изначально работают на Android, iOS, Windows, Plasma Mobile и любой классической среде рабочего стола Linux без внесения изменений в код.
Его используют различные приложения, например, приложение для подводного плавания Subsurface, разработанное Линусом Торвальдсом и Дирком Хондельсом, клиент обмена сообщениями Banji, [20] мессенджер Kaidan, [21] музыкальный проигрыватель Vvave и центр программного обеспечения KDE Discover.
Дистрибутивы Linux используют некоторые системы управления пакетами для упаковки программного обеспечения, которое они распространяют. Например, Debian распространяет KGlobalAccel под именем пакета libkf5globalaccel , [22] в то время как Fedora Linux распространяет его под именем kf5-kglobalaccel . [23]
Хотя в основном он написан на C++, существует множество привязок к другим языкам программирования: [24] [25]
В этих и других переплетах используются следующие технологии:
Многие привязки не были обновлены до Qt5 и KF5 или были обновлены только на более поздних этапах цикла выпуска.
Выпуску версии 5.0 предшествовали предварительный просмотр технологии, два альфа-релиза и три бета-релиза. [27] [28] [29]
Исходный код KDE Frameworks существует со времен KDElibs 1. Первый выпуск KDE Frameworks состоялся в версии 5, поскольку кодовая база была основана на платформе KDE версии 4 (единственной основной версии платформы KDE ).
Переход от платформы KDE к фреймворкам KDE начался в августе 2013 года под руководством ведущих технических специалистов KDE. [8]
После первоначального выпуска KDE Frameworks 5.0 разработчики сосредоточились на добавлении новых функций к компонентам KDE Frameworks 5, [30] примером чего является лучшая интеграция Firefox в KDE. [31]
Главным улучшением Frameworks 5 является его модульность. В более ранних версиях KDE библиотеки были объединены в один большой пакет. В Frameworks библиотеки были разделены на отдельные меньшие пакеты. Это облегчает использование библиотек другим программным обеспечением на основе Qt, поскольку зависимости можно свести к минимуму. [8]
В то время как KDE 4 был основан на версии 4 набора виджетов Qt , Frameworks 5 основан на версии 5.
В рамках проекта KDE «MegaRelease 6» 28 февраля 2024 года был выпущен KDE Frameworks 6, обновивший его до базы Qt 6. [32]
Во время KDE SC 4, тогдашняя так называемая платформа KDE состояла из всех библиотек и служб, необходимых для KDE Plasma и приложений. Начиная с Qt 5, эта платформа была преобразована в набор модулей, который теперь называется KDE Frameworks. Эти модули включают: Solid , Nepomuk , Phonon и т. д. и лицензируются либо по лицензии LGPL, BSD, MIT или X11. [33]
Помимо KDE Software Compilation , существуют и другие среды рабочего стола , такие как LXQt , MoonLightDE или Hawaii.
Версия 3.0 Krita , редактора растровой графики из пакета Calligra Suite , выпущенная 31 мая 2016 года, зависит от KDE Frameworks 5 и Qt 5.2.
Благодаря Kirigami возросло использование таких приложений, как Amarok , Avogadro , Trojitá или Subsurface .