KDE Frameworks

редактировать
Коллекция библиотек и программных фреймворков
KDE Frameworks
KDE Mascot Konqi for KDE Frameworks.png
Автор (ы) KDE
Разработчик (s) KDE
Первый выпуск1 июля 2014 г.; 6 лет назад (01.07.2014)
Стабильный выпуск 5.75.0 (10 октября 2020 г.; 15 дней назад (2020-10-10))
Репозиторий Edit this at Wikidata
Написано наC ++ (Qt )
Операционная система Кросс-платформенная (включая «частичную» поддержку для Android, Windows, macOS и Haiku )
Тип
Лицензия Стандартная общественная лицензия ограниченного применения GNU (LGPL)
Веб-сайтapi.kde.org / frameworks / index.html Edit this on Wikidata

KDE Frameworks - это набор библиотек и программные рамки, легко доступные для любых программных стеков или приложений на основе Qt в нескольких операционных системах. Предлагая часто необходимые функциональные решения, такие как интеграция оборудования, поддержка форматов файлов, дополнительные графические элементы управления, функции построения графиков, проверка орфографии коллекция служит технологической основой для KDE Plasma 5 и приложений KDE dist распространяется на условиях Стандартной общественной лицензии ограниченного применения GNU (LGPL).

Содержание

  • 1 Обзор
    • 1.1 Стабильность API и ABI
    • 1.2 Поддерживаемые операционные системы
  • 2 Архитектура программного обеспечения
    • 2.1 Структура
    • 2.2 Компоненты
      • 2.2.1 Программные пакеты
  • 3 История выпусков
  • 4 История
  • 5 Принятие
  • 6 Ссылки
  • 7 Внешние ссылки

Обзор

Текущие рамки KDE основаны на Qt 5, что позволяет более широко использовать QML, более простой декларативный язык программирования на основе JavaScript, для разработки пользовательских интерфейсов. Механизм визуализации графики, используемый QML, позволяет создавать более гибкие пользовательские интерфейсы на разных устройствах.

Некоторые исходные коды были перемещены из KDE Frameworks 5 в Qt 5.2 и более поздних версий.

Поскольку разделение Компиляция программного обеспечения KDE в KDE Frameworks 5, KDE Plasma 5 и Приложения KDE, каждый подпроект может выбрать свой собственный темп разработки. KDE Frameworks выпускаются ежемесячно и используют git.

Должна быть возможна установка KDE Frameworks вместе с KDE Platform 4, чтобы приложения могли использовать любой из них.

API и стабильность ABI

Выпуски платформы - это те, которые начинают серию (номер версии 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.

Поддерживаемые операционные системы

Репозиторий каждого framework должен содержать файл с именем metainfo.yaml. В этом файле указаны лица, поддерживающие фреймворк, тип, поддерживаемая операционная система и другая информация. В настоящее время поддерживаются платформы Linux, Microsoft Windows, Mac OS X и Android.

Архитектура программного обеспечения

Структура

Платформы имеют четкую структуру зависимостей, разделенных на «категории» и «уровни». «Категории» относятся к зависимостям времени выполнения:

  • Функциональные элементы не имеют зависимостей времени выполнения.
  • Интеграция обозначает код, которому могут потребоваться зависимости времени выполнения для интеграции в зависимости от того, что предлагает ОС или платформа.
  • Решения имеют обязательные зависимости во время выполнения.

«Уровни» относятся к зависимостям времени компиляции от других платформ.

  • Фреймворки уровня 1 не имеют зависимостей внутри фреймворков и нуждаются только в Qt и других соответствующих библиотеках.
  • Фреймворки уровня 2 могут зависеть только от уровня 1.
  • Фреймворки уровня 3 могут зависеть от другого уровня 3 Frameworks, а также Tier 2 и Tier 1.

Компоненты

Пакет KDE Frameworks состоит из более чем 70 пакетов. Они существовали как единый большой пакет, называемый kdelibs, в KDE SC 4. Kdelibs был разделен на несколько отдельных фреймворков, некоторые из которых больше не являются частью KDE, но были интегрированы в Qt 5.2.

Фреймворки KDE сгруппированы в четыре разных уровня в соответствии с зависимостью от других библиотек. Фреймворки уровня 1 зависят только от Qt или других системных библиотек. Фреймворки уровня 2 могут зависеть от библиотек уровня 1, Qt и / или других системных библиотек и т. Д.

Полный список фреймворков
ИмяУровеньgitОписание
Frameworkintegration4frameworkintegration.git FrameworkIntegration.git Framework Integration - это набор подключаемых модулей, отвечающих за лучшую интеграцию приложений Qt при запуске в рабочем пространстве KDE Plasma. Приложениям не нужно ссылаться на это напрямую. Библиотека KF5Style обеспечивает интеграцию с настройками KDE Plasma Workspace для стилей Qt. Создайте свой стиль Qt из KStyle, чтобы автоматически наследовать различные настройки из KDE Plasma Workspace, обеспечивая согласованный пользовательский интерфейс. Например, это обеспечит согласованную настройку активации одним или двойным щелчком и использование стандартных тематических значков.
KActivities3kactivities.git Основные компоненты для диспетчера действий KDE Activities.
KApiDox4kapidox.git Скрипты и данные для создания документации API в стандартном формате и стиле. Эта структура содержит сценарии и данные для создания документации API (dox) в стандартном формате и стиле. Инструмент Doxygen используется для фактического извлечения и форматирования документации, но эта структура предоставляет сценарий оболочки, чтобы сделать создание документации более удобной (включая параметры чтения из целевой платформы или другого модуля) и стандартный шаблон для созданной документации.
KArchive1karchive.git Классы для удобного чтения, создания и управления "архивными" форматами, включая zip и tar.
KAuth2kauth.git Предоставляет удобный, интегрированный в систему способ разгрузить действия, которые необходимо выполнять от имени привилегированного пользователя, небольшим вспомогательным утилитам.
KBookmarks3kbookmarks.git KBookmarks позволяет получать доступ и управлять закладками, сохраненными с использованием «формата XBEL». Чаще всего закладки используются в веб-браузерах, но это также может быть полезно в любом приложении, где локальные файлы или URL-адреса могут быть сохранены в виде закладок.
KCMUtils3kcmutils.git Утилиты, в т.ч. KSettings, для модулей системных настроек KDE. KCMUtils предоставляет различные классы для работы с KCModules. KCModules можно создавать с помощью фреймворка KConfigWidgets.
KCodecs1kcodecs.git KCodecs - это библиотека кодирования строк, она предоставляет набор методов для управления строками с использованием различных кодировок. Он может автоматически определять кодировку строки, переводить объекты XML, проверять адреса электронной почты и находить кодировки по имени более терпимым способом, чем QTextCodec (полезно, например, для данных, поступающих из Интернета).
KCompletion2kcompletion.git Структура завершения строки, включая редактирование строки с возможностью завершения и поле со списком. При вводе имен файлов, адресов электронной почты и другого текста, когда пользователь часто хочет выбрать из существующих данных (включая то, что он набрал ранее), а не вводить что-либо полностью оригинальное, пользователи часто находят полезным, если им нужно ввести только первые несколько символов, и затем попросите приложение предложить им набор вариантов или попытаться закончить то, что они набирали. Почтовые клиенты, оболочки и диалоговые окна открытия файла часто предоставляют эту функцию. Эта структура помогает реализовать это в приложениях на основе Qt. Вы можете использовать один из готовых к завершению виджетов, предоставляемых этой структурой, или интегрировать его напрямую в другие виджеты вашего приложения.. Самый простой способ начать - использовать KComboBox, KHistoryComboBox или KLineEdit. Если вы хотите интегрировать завершение в другие части пользовательского интерфейса, вы можете использовать KCompletion для управления и выбора возможных завершений.
KConfig1kconfig.git Постоянные независимые от платформы настройки приложения, состоящие из двух частей: KConfigCore и KConfigGui.. KConfigCore обеспечивает доступ к самим файлам конфигурации, то есть он также генерирует конфигурацию в XML.. KConfigGui предоставляет способ привязать графические элементы управления (виджеты) к конфигурации, чтобы они автоматически инициализировались из конфигурации и автоматически распространяли свои изменения в соответствующие файлы конфигурации.
KConfigWidgets3kconfigwidgets.git Графические элементы управления (виджеты) для диалоговых окон конфигурации. Виджеты для диалоговых окон конфигурации. KConfigWidgets предоставляет простые в использовании классы для создания диалоговых окон конфигурации, а также набор виджетов, которые используют KConfig для хранения своих настроек.
KCoreAddons1kcoreaddons.git Утилиты для основных функций приложения и доступа к ОС. Библиотека дополнений Qt с коллекцией утилит без графического интерфейса. KCoreAddons предоставляет классы, построенные поверх QtCore, для выполнения различных задач, таких как управление типами mime, автосохранение файлов, создание файлов резервных копий, генерация случайных последовательностей, выполнение текстовых манипуляций, таких как замена макросов, доступ к информации о пользователе и многое другое.
KCrash2kcrash.git Обеспечивает поддержку для перехвата и обработки сбоев приложений.
KDBusAddons1kdbusaddons.git KDBusAddons предоставляет удобные классы DBus поверх QtDBus, а также API для создания модулей KDED.
KDeclarative3kdeclarative.git Аддон для декларативного Qt
KDED3kded.git KDED означает KDE Daemon, центральный демон рабочих пространств KDE. KDED работает в фоновом режиме и выполняет ряд небольших задач. Некоторые из этих задач встроены, другие запускаются по запросу.
KDesignerPlugin3kdeclarative.git Эта структура предоставляет плагины для Qt Designer, которые позволяют отображать виджеты, предоставляемые различными фреймворками KDE, а также утилиту (kgendesignerplugin), которую можно использовать для создания других таких плагинов. из файлов описания в стиле ini.
KDESu3kdesu.git KDESU (суперпользователь KDE) предоставляет пользовательский интерфейс для выполнения команд оболочки с привилегиями root. Он предоставляет функциональные возможности для создания интерфейсов GUI для программ консольного режима (запрашивающих пароль). Например, kdesu и kdessh используют его для взаимодействия с su и ssh соответственно.
KDEWebkit3kdewebkit.git Интеграция механизма рендеринга HTML WebKit. Библиотека KDEWebkit обеспечивает интеграцию с KDE библиотеки QtWebKit. Если вы используете QtWebKit в своем приложении KDE, вам рекомендуется использовать этот слой вместо прямого использования классов QtWebKit. В частности, вы должны использовать KWebView вместо QWebView, KGraphicsWebView вместо QGraphicsWebView и KWebPage вместо QWebPage.
KDNSSDFramework2kdnssd.git KDNSSD - это библиотека для обработки протокола обнаружения служб на основе DNS (DNS-SD ), уровня [Zeroconf] (http: //www.zeroconf.org ), который позволяет обнаруживать сетевые службы, такие как принтеры, без какого-либо вмешательства пользователя или централизованной инфраструктуры.
KDocTools2kdoctools.git Предоставляет инструменты для создания документации в различных форматах из файлов DocBook.
KEmoticons3kemoticons.git Предоставляет темы для смайлов, а также вспомогательные классы для автоматического преобразования текстовых смайлов в графические.
KGlobalAccel1kglobalaccel.git KGlobalAccel позволяет использовать глобальные сочетания клавиш (ускорители), которые не зависят от окна в фокусе. В отличие от обычных ярлыков, окно приложения не требует фокусировки для их активации.
KGuiAddons1kguiaddons.git Дополнения графического интерфейса KDE; Утилиты для графических пользовательских интерфейсов; Надстройки графического интерфейса KDE предоставляют утилиты для графического пользовательского интерфейса в области цветов, шрифтов, текста, изображений, ввода с клавиатуры.
KHTML 4khtml.git KHTML - это механизм рендеринга HTML, на основе которого был создан WebKit. Он основан на технологии KParts и использует KJS для поддержки JavaScript.
Ki18n1ki18n.git Интернационализация текста пользовательского интерфейса на основе gettext в KDE. KI18n предоставляет функциональные возможности для интернационализации текста пользовательского интерфейса в приложениях на основе системы перевода GNU Gettext. Он включает в себя стандартные функции Gettext, так что программисты и переводчики могут использовать знакомые инструменты и рабочие процессы Gettext. KI18n также предоставляет дополнительные функции как для программистов, так и для переводчиков, которые могут помочь достичь более высокого общего качества исходного и переведенного текста. Сюда входит захват аргументов, настраиваемая разметка и скрипты перевода.
KIconThemes3kiconthemes.git Эта библиотека содержит классы для улучшения обработки значков в приложениях, использующих KDE Frameworks.
KIdleTime1kidletime.git Модуль интеграции для определения времени простоя.
KImageFormats1kimageformats.git Плагины, позволяющие QImage поддерживать дополнительные форматы файлов. Эта структура предоставляет дополнительные плагины для форматов изображений для QtGui. Таким образом, он не требуется для компиляции какого-либо другого программного обеспечения, но может быть требованием времени выполнения для программного обеспечения на основе Qt для поддержки определенных форматов изображений.. Следующие форматы изображений имеют поддержку только для чтения:

Были прочитаны следующие форматы изображений и поддержка записи:

  • Encapsulated PostScript (eps)
  • Personal Computer Exchange ()
  • Изображения SGI (rgb, rgba, sgi, bw)
  • Autodesk Softimage pic )
  • Targa (tga ): поддерживает больше форматов, чем версия Qt
  • XView (xv) <--! Khoros Visualization Image file? -->
KInit3kinit.git kdeinit is средство запуска процессов, которое запускает процессы путем разветвления, а затем загрузки динамической библиотеки, которая должна содержать функцию kdemain (...). kdeinit ускоряет запуск приложений в рабочих областях KDE; kdeinit связан со всеми библиотеками, которые необходимы стандартному приложению KDE. Благодаря этой технике запуск приложения становится намного быстрее. Потому что теперь нужно связать только само приложение, в противном случае необходимо связать как приложение, так и все используемые им библиотеки.
KIO 3kio.git Прозрачный сетевой доступ к файлам и данным. Эта структура реализует почти все функции управления файлами, которые вам когда-либо понадобятся. Dolphin и диалоговое окно файлов KDE также используют это для обеспечения сетевого управления файлами.
Kirigami1kirigami.git Набор подключаемых модулей QtQuick для создания пользовательских интерфейсов на основе рекомендаций KDE UX
KItemModels1kitemmodels.git Набор моделей элементов, расширяющих модель Qt- просмотреть рамки. KItemModels предоставляет следующие модели:
  • KBreadcrumbSelectionModel - выбирает родителей выбранных элементов для создания хлебных крошек
  • KCheckableProxyModel - добавляет возможность проверки исходной модели
  • KConcatenateRowsProxyModel - объединяет строки из несколько исходных моделей
  • KDescendantsProxyModel - модель прокси для реструктуризации дерева в список
  • KExtraColumnsProxyModel - добавляет столбцы после существующих столбцов
  • KLinkItemSelectionModel - разделяет выбор в нескольких представлениях, которые не иметь ту же исходную модель
  • KModelIndexProxyMapper - Сопоставление индексов и выборок через прокси-модели
  • KRearrangeColumnsProxyModel - Может изменять порядок и скрывать столбцы в исходной модели
  • KRecursiveFilterProxyModel - Рекурсивная фильтрация моделей
  • KSelectionProxyModel - прокси-модель, которая представляет подмножество своей исходной модели наблюдателям
KItemViews1kitemviews.git Набор представлений элементов, расширяющих структуру представления модели Qt. KItemViews включает набор представлений, которые можно использовать с моделями элементов. Он включает представления для категоризации списков и добавления фильтров поиска в плоские и иерархические списки.
KJobWidgets2kjobwidgets.git KJobWIdgets предоставляет виджеты для отображения хода выполнения асинхронных заданий.
KJS 1kjs.git KJS предоставляет интерпретатор, совместимый с ECMAScript. Стандарт ECMA основан на хорошо известных языках сценариев, таких как JavaScript от Netscape и JScript от Microsoft.
KJSEmbed3kjsembed.git KSJEmbed предоставляет метод привязки объектов JavaScript к объектам QObject, чтобы вы могли создавать сценарии для своих приложений.
KMediaPlayer3kmediaplayer.git Не рекомендуется: интерфейс для KParts медиаплеера. KMediaPlayer основан на структуре KParts, чтобы предоставить общий интерфейс для KParts, который может воспроизводить медиафайлы. Этот фреймворк помогает при переносе. Он не рекомендуется для новых проектов, а для существующих проектов, которые его используют, рекомендуется переносить его подальше и вместо этого использовать простые KParts.
KNewStuff3knowstuff.git Платформа для загрузки и обмена дополнительными данными приложений. Библиотека KNewStuff реализует совместный обмен данными для приложений. Он использует libattica для поддержки спецификации Open Collaboration Services..

Attica - это библиотека Qt, которая реализует Open Collaboration Services API версии 1.6. Он обеспечивает легкий доступ к таким службам, как запрос информации о людях и содержании.

KNotifications3knotifications.git Решение с абстракцией для системных уведомлений.
KNotifyConfig3knotifyconfig.git Модуль для настройки KNotify.
KParts3kparts.git Библиотека KParts реализует структуру для частей KDE. Один отдельный компонент пользовательского интерфейса называется KPart и представляет собой сложный виджет с пользовательским интерфейсом, определяемым в терминах действий (элементы меню, значки панели инструментов). KParts аналогичны компонентам в элементах управления GNOME и ActiveX в компонентной объектной модели Microsoft. Konsole доступен как KPart и используется в таких приложениях, как Konqueror и. Примеры использования KParts:
  • Konqueror использует часть Okular для отображения документов
  • Konqueror использует часть Dragon Player для воспроизведения мультимедиа
  • Kontact встраивает приложения kdepim
  • , а другие редакторы используют компонент редактора katepart
  • Некоторые приложения используют Konsole KPart для встраивания терминала

Дополнительная документация:

KPlotting1kplotting.git KPlotWidget является производным от QWidget классом, который предоставляет виртуальный базовый класс для простого построения графиков данных. Идея KPlotWidget заключается в том, что у вас есть только

для указания информации в «единицах данных»; т.е. натуральные единицы отображаемых данных. KPlotWidget автоматически преобразует все в пиксельные единицы экрана. KPlotWidget рисует оси X и Y с делениями и метками. Он автоматически определяет, сколько делений использовать и где они должны быть, на основе ограничений данных, указанных для графика. Вы изменяете пределы, вызывая setLimits (double x1, double x2, double y1, double y2). Данные для построения графика сохраняются с использованием класса KPlotObject. KPlotObject состоит из QList QPointF, каждый из которых определяет координаты X, Y точки данных. KPlotObject также определяет «тип» данных для построения графика (ТОЧКИ, КРИВАЯ, ПОЛИГОН, МЕТКА).

KPty2kpty.git Взаимодействие с псевдотерминальными устройствами. Эта библиотека предоставляет примитивы для взаимодействия с псевдотерминальными устройствами, а также производный класс KProcess для запуска дочерних процессов и связи с ними с помощью pty.
Kross 3kross.git Встраивание скриптов в приложения. Kross - это скриптовый мост для встраивания скриптовых функций в приложение. Он поддерживает QtScript как внутреннюю часть интерпретатора сценариев..

Ядро Kross обеспечивает структуру для прозрачной работы с внутренними интерфейсами интерпретатора и предлагает абстрактные функции для работы со сценариями.

KRunner3krunner.git Фреймворк для предоставления различных действий с учетом строкового запроса. Каркас для плазменных бегунов. Рабочее пространство Plasma предоставляет приложение под названием KRunner, которое, помимо прочего, позволяет вводить текст в текстовой области, что приводит к появлению различных действий и информации, соответствующей тексту, по мере набора текста. Одним из приложений для этого является универсальный бегун, который можно запустить с помощью ALT+F2.
KService3kservice.git KService предоставляет платформу подключаемых модулей для обработки сервисов рабочего стола. Сервисы могут быть приложениями или библиотеками. Они могут быть привязаны к типам MIME или обрабатываться конкретным кодом приложения.
KSyntaxHighlighting1syntax-highlighting.git Это автономная реализация механизма подсветки синтаксиса Kate. Он задуман как строительный блок для текстовых редакторов, а также для простой визуализации выделенного текста (например, в формате HTML), поддерживающий как интеграцию с настраиваемым редактором, так и готовый к использованию подкласс QSyntaxHighlighter.
KTextEditor3ktexteditor.git KTextEditor предоставляет мощный компонент текстового редактора, который вы можете встроить в свое приложение либо как KPart, либо с помощью библиотеки KF5 :: TextEditor (если вам нужно больше контроля). Компонент текстового редактора содержит множество полезных функций, от выделения синтаксиса и автоматического отступа до расширенной поддержки сценариев, что делает его подходящим для всего, от простого встроенного редактора текстовых файлов до расширенной среды IDE.
KTextWidgets3ktextwidgets.git KTextWidgets предоставляет виджеты для отображения и редактирования текста. Он поддерживает форматированный текст, а также простой текст.
KUnitConversion2kunitconversion.git KUnitConversion предоставляет функции для преобразования значений в различные физические единицы. Он поддерживает преобразование различных префиксов (например, кило, мега, гига), а также преобразование между различными системами единиц (например, литрами, галлонами). Поддерживаются следующие области:
  • Ускорение
  • Угол
  • Площадь
  • Валюта
  • Плотность
  • Электрический ток
  • Электрическое сопротивление
  • Энергия
  • Сила
  • Частота
  • Топливная эффективность
  • Длина
  • Масса
  • Мощность
  • Давление
  • Температура
  • Теплопроводность
  • Тепловой поток
  • Выработка тепла
  • Время
  • Скорость
  • Объем
  • Напряжение
KWalletFramework3kwallet.git Надежное хранилище паролей на рабочем столе. Эта структура содержит два основных компонента:
  • Интерфейс с KWallet, безопасным хранилищем паролей в рабочих областях KDE на рабочем столе.
  • kwalletd, используемый для безопасного хранения паролей в рабочих областях KDE.
KWayland 1kwayland.git KWayland - это библиотека KDE для реализации поддержки Wayland в приложениях KDE, она удовлетворяет потребности, выходящие за рамки того, что предоставляет QtWayland. Все приложения KDE в сеансе плазмы используют эту библиотеку и, возможно, LXQt. KWayland является частью KDE Frameworks с 5.22 (май 2016 г.); ранее он распространялся как часть KDE Plasma 5.
KWidgetsAddons1kwidgetsaddons.git Дополнение с различными классами поверх QtWidgets. Если вы переносите приложения из библиотеки «kdeui» KDE Platform 4, вы найдете здесь множество ее классов. Предоставляются классы действий, которые могут быть добавлены в панели инструментов или меню, широкий спектр виджетов для выбора символов, шрифтов, цветов, действий, дат и времени или типов MIME, а также диалоговые окна с поддержкой платформы для страниц конфигурации, окон сообщений и т. Д. и запросы пароля. Дополнительные виджеты и классы можно найти в других средах KDE.
KWindowSystem1kwindowsystem.git Позволяет взаимодействовать с оконной системой. Он предоставляет NETRootInfo для доступа к глобальному состоянию (все, что установлено в корневом окне) и NETWinInfo для всей информации об определенном окне. У классов есть оконный менеджер и клиентская перспектива. Это основа, на которой работает KWin и различные части графической оболочки, такие как диспетчер задач. Помимо этих классов, специфичных для X11, у нас есть удобный API KWindowInfo и KWindowSystem, который предоставляет нашим приложениям API, не зависящий от оконной системы.
KXMLGUI3kxmlgui.git KXMLGUI обеспечивает основу для абстрактного управления действиями меню и панели инструментов. Действия настраиваются через XML-описание и перехватчики в коде приложения. Платформа поддерживает объединение нескольких описаний, например, для интеграции действий из подключаемых модулей.. KXMLGui использует функциональные возможности авторизации киоска KConfig (см. Пространство имен KAuthorized в этой структуре). Примечательно, что экземпляры QAction, добавленные в KActionCollection, отключаются, если KAuthorized :: authorizeAction () сообщает, что они не авторизованы. Пункты стандартного меню справки (KHelpMenu) также могут быть отключены в зависимости от настроек киоска, а редактирование панели инструментов может быть ограничено. См. Документацию KActionCollection, KHelpMenu и KToolBar для получения дополнительной информации.
Plasma-framework3Plasma-framework.git Основные библиотеки, компоненты времени выполнения и инструменты рабочих пространств KDE Plasma на основе KF5 и Qt5. Платформа Plasma предоставляет следующее:
  • QML компоненты
    • org.kde.plasma.core: привязки для функциональности libplasma, такие как DataEngine и FrameSvg
    • org.kde.plasma.components: графические компоненты для общих элементов, таких как кнопки, линейные редакции, панели вкладок и т. д. Совместимое подмножество компонентов MeeGo, используемых в N9
    • org.kde.plasma.extras: дополнительные графические компоненты, расширяющие org.kde.plasma.components, но не входящие в стандартный API
    • org.kde.plasma.plasmoid: присоединенные свойства для управления текущим апплетом или вложением
  • libplasma: библиотека C ++, которая обеспечивает:
    • рендеринг тем SVG
    • загрузка файлов из определенной структуры файловой системы: пакеты
    • доступ к данным через механизмы данных
    • загрузка структуры подключаемых модулей рабочей области: контейнеры и апплеты
  • Механизмы сценариев: Обеспечивает поддержку для создания апплетов или контейнеры на различных языках сценариев
Prison1Prison.git Prison - это основанный на Qt слой / библиотека абстракции штрих-кода, обеспечивающий единый доступ к генерации штрих-кодов с данными.
Solid1solid.git Solid обеспечивает способ запросов и взаимодействия с оборудованием независимо от базовой операционной системы. Он предоставляет следующие функции для разработчиков приложений:
Sonnet 1sonnet.git Sonnet - это библиотека проверки орфографии на основе подключаемых модулей для приложений на основе Qt. Он поддерживает несколько различных плагинов, включая HSpell, Enchant, ASpell и HUNSPELL. Он также поддерживает автоматическое определение языка на основе комбинации различных алгоритмов. Самый простой способ использовать Sonnet в вашем приложении - использовать класс SpellCheckDecorator в вашем QTextEdit.
Syndication2Syndication.git Syndication - это библиотека парсера RSS / Atom.
ThreadWeaver 1threadweaver.git ThreadWeaver - это очередь заданий. Он выполняет задания в потоках, которыми он управляет внутри.

Пакеты программного обеспечения

В дистрибутиве Linux используется некоторая система управления пакетами для упаковки распространяемого ими программного обеспечения. Debian, например, распространяет KGlobalAccel под именем пакета libkf5globalaccel, а Fedora распространяет его под именем kf5-kglobalaccel.

История выпусков

5.0 выпуску предшествовала предварительная версия технологии, два альфа-выпуска и три бета-выпуска.

Выпуски Frameworks 5
ВерсияДатаПримечания
Старая версия, больше не поддерживается : 5.07 июля 2014 г.Первоначальный выпуск, требуется Qt 5.2.
Старая версия, больше не поддерживается: 5.17 августа 2014 года
Старая версия, больше не поддерживается: 5.212 сентября 2014 года
Старая версия, больше не поддерживается: 5.37 октября 2014 г.
Старая версия, больше не поддерживается: 5.46 ноября 2014
Старая версия, больше не поддерживается: 5.511 декабря 2014 г.
Старая версия, больше не поддерживается: 5.68 января 2015Новые платформы: KPackage и NetworkManagerQt
Старая версия, больше не поддерживается: 5.714 Февраль 2015 г.
Старая версия, больше не поддерживается: 5,813 марта 2015 г.Новые платформы: KPeople и KXmlRpcClient
Старая версия, больше не поддерживается: 5,910 апреля 2015 г.Новая структура: ModemManagerQt
Старая версия, больше не поддерживается: 5.108 мая 2015 г.
Старая версия, больше не поддерживается: 5.1112 июня 2015 г.Новая структура: BlueZ-Qt (см. BlueZ )
Старая версия, больше не поддерживается: 5.1210 июля 2015 г.
Старая версия, больше не поддерживается: 5.1312 августа 2015Новые рамки: Baloo (заменяет NEPOMUK ) и KFileMetaData, теперь требует Qt 5.3.
Старая версия, больше не поддерживается: 5.1411 сентября 2015 года
Старая версия, больше не поддерживается: 5.1510 октября 2015 года
Старая версия, больше не поддерживается: 5.1613 ноября 2015 г.
Старая версия, больше не поддерживается: 5.1712 декабря 2015
Старая версия, больше не поддерживается: 5.189 января 2016 г.
Старая версия, больше не поддерживается: 5.1913 февраля 2016 г.
Старая версия, больше не поддерживается: 5.2013 марта 2016 г.
Старая версия, больше не поддерживается: 5.219 апреля 2016 г.Новый фреймворк: KActivities-stats, теперь требует Qt 5.4.
Старая версия, больше не поддерживается: 5.2215 мая 2016 г.Новая структура: KWayland
Старая версия, больше не поддерживается: 5.2313 июня 2016 г.
Старая версия, больше не поддерживается: 5.249 июля 2016 г.
Старая версия, больше не поддерживается: 5.2513 августа 2016 г.Теперь требуется Qt 5.5 или выше.
Старая версия, больше не поддерживается: 5.2610 сентября 2016 года
Старая версия, больше не поддерживается: 5.278 октября 2016 года
Старая версия, больше не поддерживается: 5.2815 ноября 2016 г.Новая структура: KSyntaxHighlighting
Старая версия, больше не поддерживается: 5.2912 декабря 2016 г.Новая структура: тюрьма
Старая версия, больше не поддерживается: 5.3014 января 2017 г.Добавление поддержки KNewStuff для KPackage
Старая версия, больше не поддерживается: 5.3111 февраля 2017Многие модули теперь имеют привязки Python, теперь требуется Qt 5.6 или выше
Старая версия, больше не поддерживается: 5.3211 марта 2017 г.
Старая версия, больше не поддерживается: 5,338 апреля 2017 г.
Старая версия, больше не поддерживается: 5,3413 мая 2017 г.
Старая версия, более не поддерживается: 5,351 июня 2017 г.
Old version, no longer maintained: 5.368 July 2017
Old version, no longer maintained: 5.3713 Au gust 2017New framework: Kirigami, now requires Qt 5.7 or above
Old version, no longer maintained: 5.389 September 2017
Old version, no longer maintained: 5.3914 October 2017
Old version, no longer maintained: 5.4011 November 2017
Old version, no longer maintained: 5.4110 December 2017
Old version, no longer maintained: 5.4213 January 2018
Old version, no longer maintained: 5.4312 February 2018New frameworks: KHolidays and Purpose
Old version, no longer maintained: 5.4410 March 2018
Old version, no longer maintained: 5.4514 April 2018requires Qt 5.8 or above
Old version, no longer maintained: 5.4612 May 2018
Old version, no longer maintained: 5.479 June 2018
Old version, no longer maintained: 5.4815 July 2018
Old version, no longer maintained: 5.4911 August 2018
Old version, no longer mai ntained: 5.508 September 2018New framework: Syndication
Old version, no longer maintained: 5.5115 October 2018
Old version, no longer maintained: 5.5210 November 2018
Old version, no longer maintained: 5.539 December 2018requires Qt 5.9 or above
Old version, no longer maintained: 5.5412 January 2019
Old version, no longer maintained: 5.559 February 2019requires Qt 5.10 or above
Old version, no longer maintained: 5.569 March 2019
Old version, no longer maintained: 5.5713 April 2019
Old version, no longer maintained: 5.5813 May 2019
Old version, no longer maintained: 5.598 June 2019
Old version, no longer maintained: 5.6013 July 2019requires Qt 5.11 or above
Old version, no longer maintained: 5.6110 August 2019
Old version, no longer maintained: 5.6214 September 2019
Ol d version, no longer maintained: 5.6312 October 2019Added KCalendarCore and KContacts
Old version, no longer maintained: 5.6410 November 2019
Old version, no longer maintained: 5.6514 December 2019Added KQuickCharts
Old version, no longer maintained: 5.6611 January 2020
Old version, no longer maintained: 5.678 February 2020
Old version, no longer maintained: 5.6815 March 2020
Old version, no longer maintained: 5.695 April 2020
Old version, no longer maintained: 5.709 May 2020
Old version, no longer maintained: 5.7113 June 2020
Old version, no longer maintained: 5.7211 July 2020
Old version, no longer maintained: 5.738 August 2020
Old version, no longer maintained: 5.7412 September 2020
Current stable version: 5.7510 October 2020
Future release: 5.76
Legend:Old versionOld er version, still maintainedLatest versionLatest preview versionFuture release

History

The source code of KDE Frameworks has been around since KDElibs 1. The first release as KDE Frameworks was with version 5, to account for the fact that the code base was that of KDE Platform version 4 (the only major version of KDE Platform ).

The transition from KDE Platform to KDE Frameworks began in August 2013, guided by top KDE technical contributors.

After the initial release of KDE Frameworks 5.0, the developers focused on adding new features to the components in KDE Frameworks 5, an example being better integration of Firefox into KDE.

The major improvement of Frameworks 5 is its modularization. In earlier KDE versions, the libraries were bundled as a single large package. In Frameworks, the libraries were split into individual smaller packages. This facilitates utilization of the libraries by other Qt-based software, since dependencies can be kept at a minimum.

While KDE 4 was based on version 4 of the Qt widget toolkit, Frameworks 5 is based on version 5.

Adoption

Besides the KDE Software Compilation, there are other adopters such as the desktop environments LXQt, or Hawaii.

Version 3.0 of Krita, the raster graphics editor of the Calligra Suite, which was released on May 31, 2016, depends on KDE Frameworks 5 and Qt 5.2.

With Kirigami, there is also increased usage by applications such as Amarok, Avogadro, Trojitá or Subsurface.

References

External links

Последняя правка сделана 2021-05-25 08:13:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте