Estructuras de KDE - KDE Frameworks
Autor (es) original (es) | KDE |
---|---|
Desarrollador (es) | KDE |
Versión inicial | 1 de julio de 2014 |
Lanzamiento estable | |
Repositorio | |
Escrito en | C ++ ( Qt ) |
Sistema operativo | Multiplataforma (incluida la compatibilidad "parcial" con Android , Windows , macOS y Haiku ) |
Escribe | |
Licencia | Licencia pública general reducida de GNU (LGPL) |
Sitio web |
api |
KDE Frameworks es una colección de bibliotecas y marcos de software disponibles para cualquier pila de software o aplicaciones basadas en Qt en múltiples sistemas operativos . Con soluciones de funcionalidad que se necesitan con frecuencia, como integración de hardware, soporte de formato de archivo, elementos de control gráfico adicionales , funciones de trazado y revisión ortográfica , la colección sirve como base tecnológica para KDE Plasma 5 y KDE Gear distribuidos bajo la GNU Lesser General Public License (LGPL).
Visión general
Los marcos de trabajo actuales de KDE se basan en Qt 5, lo que permite un uso más generalizado de QML , un lenguaje de programación declarativo más simple basado en JavaScript , para el diseño de interfaces de usuario. El motor de renderizado de gráficos utilizado por QML permite interfaces de usuario más fluidas en diferentes dispositivos.
Desde la división de la compilación del software KDE en KDE Frameworks 5, KDE Plasma 5 y aplicaciones KDE , cada subproyecto puede elegir su propio ritmo de desarrollo. Los Frameworks de KDE se lanzan mensualmente y utilizan git.
Debería ser posible instalar KDE Frameworks junto con la plataforma KDE 4 para que las aplicaciones puedan usar cualquiera de ellos.
Estabilidad API y ABI
Los lanzamientos de plataforma son aquellos que comienzan una serie (número de versión X.0). Solo estas versiones principales pueden romper la compatibilidad binaria con el predecesor. Los lanzamientos de la serie menor (X.1, X.2, ...) garantizarán la portabilidad binaria ( API y ABI ). Esto significa, por ejemplo, que el software desarrollado para KDE 3.0 funcionará en todas las versiones (futuras) de KDE 3; sin embargo, no se garantiza que una aplicación desarrollada para KDE 2 pueda hacer uso de las bibliotecas de KDE 3. Los números de la versión principal de KDE siguen principalmente el ciclo de lanzamiento de Qt, lo que significa que KDE SC 4 se basa en Qt 4, mientras que KDE 3 se basa en Qt 3.
Sistemas operativos compatibles
El repositorio de cada marco debe contener un archivo llamado metainfo.yaml . Este archivo documenta el responsable del mantenimiento del marco, el tipo, el sistema operativo compatible y otra información. Las plataformas compatibles actualmente son Linux, Microsoft Windows, macOS y Android.
Arquitectura de software
Estructura
Los Frameworks tienen una estructura de dependencia clara, dividida en "categorías" y "niveles". Las "categorías" se refieren a dependencias en tiempo de ejecución:
- Los elementos funcionales no tienen dependencias en tiempo de ejecución.
- La integración designa el código que puede requerir dependencias de tiempo de ejecución para la integración, según lo que ofrezca el sistema operativo o la plataforma.
- Las soluciones tienen dependencias de tiempo de ejecución obligatorias.
Componentes
El paquete KDE Frameworks consta de más de 70 paquetes. Estos existían como un solo paquete grande, llamado kdelibs, en KDE SC 4 . Kdelibs se dividió en varios marcos individuales, algunos de los cuales ya no forman parte de KDE pero se integraron en Qt 5.2 .
Los Frameworks de KDE se agrupan en cuatro niveles diferentes según la dependencia de otras bibliotecas.
- Niveles de estructuras
- Nivel 1: depende principalmente de Qt , es muy portátil
- Nivel 2: depende del Nivel 1, pero las dependencias aún son manejables
- Nivel 3: dependencias complejas, incluidos los niveles 1-2, etc.
- Nivel 4: principalmente complementos que brindan características adicionales como soporte de plataforma; puede ser ignorado
Nombre | Nivel | Repositorio de Git | Descripción |
---|---|---|---|
Integración del marco | 4 | frameworkintegration.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Framework Integration es un conjunto de complementos responsables de una mejor integración de las aplicaciones Qt cuando se ejecutan en un espacio de trabajo KDE Plasma. No es necesario que las aplicaciones se vinculen a esto directamente. La biblioteca KF5Style proporciona integración con la configuración de KDE Plasma Workspace para estilos Qt. Derive su estilo Qt de KStyle para heredar automáticamente varias configuraciones del espacio de trabajo de plasma de KDE, proporcionando una experiencia de usuario consistente. Por ejemplo, esto asegurará una configuración de activación consistente con un solo clic o doble clic, y el uso de íconos temáticos estándar. |
KActividades | 3 | kactivities.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Componentes principales del administrador de actividades de KDE Activities. |
KApiDox | 4 | kapidox.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Scripts y datos para crear documentación de API en un formato y estilo estándar. Este marco contiene scripts y datos para crear documentación de API (dox) en un formato y estilo estándar. La herramienta Doxygen se utiliza para realizar la extracción y el formato de la documentación, pero este marco proporciona un script de envoltura para que la generación de la documentación sea más conveniente (incluida la configuración de lectura del marco de destino u otro módulo) y una plantilla estándar para la documentación generada. |
KArchive | 1 | karchive.git Archivado el 17 de octubre de 2017 en la Wayback Machine. | Clases para facilitar la lectura, creación y manipulación de formatos de "archivo", incluidos zip y tar . |
KAuth | 2 | kauth.git Archivado el 21 de agosto de 2017 en la Wayback Machine. | Proporciona una forma conveniente e integrada en el sistema de descargar acciones que deben realizarse como usuario privilegiado a pequeñas utilidades auxiliares. |
KBookmarks | 3 | kbookmarks.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KBookmarks le permite acceder y manipular los marcadores almacenados usando el "formato XBEL". El uso más común de los marcadores son los navegadores web, pero esto también puede resultar útil en cualquier aplicación en la que se puedan guardar archivos locales o URL como marcadores. |
KCMUtils | 3 | kcmutils.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Utilidades, como KSettings, para los módulos de configuración del sistema de KDE. KCMUtils proporciona varias clases para trabajar con KCModules. Los KCModules se pueden crear con el marco KConfigWidgets. |
KCodecs | 1 | kcodecs.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KCodecs es una biblioteca de codificación de cadenas, proporciona una colección de métodos para manipular cadenas utilizando varias codificaciones. Puede determinar automáticamente el juego de caracteres de una cadena, traducir entidades XML, validar direcciones de correo electrónico y encontrar codificaciones por nombre de una manera más tolerante que QTextCodec (útil, por ejemplo, para datos provenientes de Internet). |
KCompletion | 2 | kcompletion.git Archivado el 16 de enero de 2018 en la Wayback Machine. | Marco de finalización de cadenas, incluida la edición de línea y el cuadro combinado habilitados para la finalización. Al escribir nombres de archivo, direcciones de correo electrónico y otro texto en el que el usuario a menudo desea seleccionar de los datos existentes (incluido lo que escribió anteriormente) en lugar de ingresar algo totalmente original, los usuarios a menudo encuentran útil si solo necesitan escribir los primeros caracteres, y luego haga que la aplicación les ofrezca un conjunto de opciones o intente terminar lo que estaban escribiendo. Los clientes de correo electrónico, los shells y los diálogos de "archivo abierto" a menudo proporcionan esta funcionalidad. Este marco ayuda a implementar esto en aplicaciones basadas en Qt. Puede usar uno de los widgets listos para completar proporcionados por este marco o integrarlo directamente en los otros widgets de su aplicación. La forma más sencilla de empezar es utilizar KComboBox, KHistoryComboBox o KLineEdit. Si desea integrar la finalización en otras partes de la interfaz de usuario, puede utilizar KCompletion para administrar y seleccionar las posibles finalizaciones. |
KConfig | 1 | kconfig.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Configuración de la aplicación persistente independiente de la plataforma compuesta de dos partes: KConfigCore y KConfigGui. KConfigCore proporciona acceso a los propios archivos de configuración, lo que significa que también genera la configuración en XML . KConfigGui proporciona una forma de conectar elementos de control gráfico (widgets) a la configuración para que se inicialicen automáticamente desde la configuración y propaguen automáticamente sus cambios a sus respectivos archivos de configuración. |
KConfigWidgets | 3 | kconfigwidgets.git Archivado el 30 de enero de 2019 en la Wayback Machine. | Elementos de control gráfico (widgets) para diálogos de configuración. Widgets para diálogos de configuración. KConfigWidgets proporciona clases fáciles de usar para crear diálogos de configuración, así como un conjunto de widgets que usa KConfig para almacenar sus configuraciones. |
KCoreAddons | 1 | kcoreaddons.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Utilidades para la funcionalidad de la aplicación principal y el acceso al sistema operativo. Biblioteca de complementos Qt con una colección de utilidades que no son GUI. KCoreAddons proporciona clases creadas sobre QtCore para realizar diversas tareas, como manipular tipos de mímica, guardar archivos automáticamente, crear archivos de respaldo, generar secuencias aleatorias, realizar manipulaciones de texto como reemplazo de macros, acceder a información del usuario y muchas más. |
KCrash | 2 | kcrash.git Archivado el 31 de enero de 2019 en la Wayback Machine. | Brinda soporte para interceptar y manejar fallas de aplicaciones. |
Complementos de KDBus | 1 | kdbusaddons.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | KDBusAddons proporciona clases DBus de conveniencia además de QtDBus, así como una API para crear módulos KDED. |
KDeclarativo | 3 | kdeclarative.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Complemento para Qt declarativo |
KDED | 3 | kded.git Archivado el 30 de enero de 2019 en la Wayback Machine. | KDED son las siglas de KDE Daemon, el demonio central de los espacios de trabajo de KDE. KDED se ejecuta en segundo plano y realiza una serie de pequeñas tareas. Algunas de estas tareas están integradas, otras se inician a pedido. |
KDesignerPlugin | 3 | kdeclarative.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Este marco proporciona complementos para Qt Designer que le permiten mostrar los widgets proporcionados por varios marcos de KDE, así como una utilidad (kgendesignerplugin) que se puede usar para generar otros complementos de este tipo a partir de archivos de descripción de estilo ini. |
KDESu | 3 | kdesu.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | KDESU (superusuario de KDE) proporciona una interfaz de usuario para ejecutar comandos de shell con privilegios de root. Proporciona funcionalidad para construir interfaces GUI para programas en modo consola (solicitud de contraseña). Por ejemplo, kdesu y kdessh lo usan para interactuar con su y ssh respectivamente. |
KDEWebkit | 3 | kdewebkit.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Integración del motor de renderizado HTML WebKit . La biblioteca KDEWebkit proporciona la integración KDE de la biblioteca QtWebKit. Si está utilizando QtWebKit en su aplicación KDE, le recomendamos que utilice esta capa en lugar de utilizar las clases QtWebKit directamente. En particular, debe utilizar KWebView en lugar de QWebView, KGraphicsWebView en lugar de QGraphicsWebView y KWebPage en lugar de QWebPage. |
KDNSSDFramework | 2 | kdnssd.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | KDNSSD es una biblioteca para manejar el protocolo de descubrimiento de servicios basado en DNS ( DNS-SD ), la capa de [Zeroconf] ( http://www.zeroconf.org ) que permite que los servicios de red, como las impresoras, se descubran sin ningún tipo de intervención del usuario o infraestructura centralizada. |
KDocTools | 2 | kdoctools.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Proporciona herramientas para generar documentación en varios formatos a partir de archivos DocBook. |
KEmoticonos | 3 | kemoticons.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Proporciona temas de emoticonos y clases de ayuda para convertir automáticamente emoticonos de texto en emoticonos gráficos. |
KGlobalAccel | 1 | kglobalaccel.git Archivado el 2 de febrero de 2019 en la Wayback Machine. | KGlobalAccel le permite tener atajos de teclado globales (aceleradores) que son independientes de la ventana enfocada. A diferencia de los atajos habituales, la ventana de la aplicación no necesita foco para que se activen. |
KGuiAddons | 1 | kguiaddons.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Complementos de la GUI de KDE; Utilidades para interfaces gráficas de usuario; Los complementos de la GUI de KDE proporcionan utilidades para interfaces gráficas de usuario en las áreas de colores, fuentes, texto, imágenes, entrada de teclado. |
KHTML | 4 | khtml.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KHTML es el motor de renderizado HTML desde el que se bifurcó WebKit. Se basa en la tecnología KParts y utiliza KJS para compatibilidad con JavaScript. |
Ki18n | 1 | ki18n.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Internacionalización de texto de la interfaz de usuario basada en gettext de KDE. KI18n proporciona funcionalidad para internacionalizar el texto de la interfaz de usuario en aplicaciones, basado en el sistema de traducción GNU Gettext . Envuelve la funcionalidad estándar de Gettext, de modo que los programadores y traductores puedan utilizar las herramientas y los flujos de trabajo familiares de Gettext. KI18n también proporciona funcionalidad adicional, tanto para programadores como para traductores, lo que puede ayudar a lograr una mayor calidad general del texto original y traducido. Esto incluye captura de argumentos, marcado personalizable y secuencias de comandos de traducción. |
KIconThemes | 3 | kiconthemes.git Archivado el 24 de diciembre de 2017 en la Wayback Machine. | Esta biblioteca contiene clases para mejorar el manejo de iconos en aplicaciones que utilizan KDE Frameworks. |
KIdleTime | 1 | kidletime.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Módulo de integración para detección de tiempos de inactividad. |
KImageFormats | 1 | kimageformats.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Complementos para permitir que QImage admita formatos de archivo adicionales. Este marco proporciona complementos de formato de imagen adicionales para QtGui. Como tal, no es necesario para la compilación de ningún otro software, pero puede ser un requisito de tiempo de ejecución para que el software basado en Qt admita determinados formatos de imagen. Los siguientes formatos de imagen son compatibles con solo lectura:
Los siguientes formatos de imagen son compatibles con lectura y escritura:
|
KInit | 3 | kinit.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | kdeinit es un lanzador de procesos, que inicia procesos bifurcando y luego cargando una biblioteca dinámica que debe contener una función 'kdemain (...)'. kdeinit acelera el inicio de aplicaciones en los espacios de trabajo de KDE; kdeinit está vinculado a todas las bibliotecas que necesita una aplicación KDE estándar. Con esta técnica, el inicio de una aplicación se vuelve mucho más rápido porque ahora solo se debe vincular la aplicación en sí, mientras que, de lo contrario, tanto la aplicación como todas las bibliotecas que utiliza deben estar vinculadas. |
KIO | 3 | kio.git Archivado el 5 de abril de 2017 en la Wayback Machine. | Red de acceso transparente a archivos y datos. Este marco implementa casi todas las funciones de administración de archivos que necesitará. Dolphin y el cuadro de diálogo de archivo de KDE también lo utilizan para proporcionar su administración de archivos habilitada para la red. |
Kirigami | 1 | kirigami.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Un conjunto de complementos de QtQuick para crear interfaces de usuario basadas en las pautas de KDE UX |
KItemModels | 1 | kitemmodels.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Conjunto de modelos de elementos que amplían el marco de vista del modelo Qt. KItemModels proporciona los siguientes modelos:
|
KItemViews | 1 | kitemviews.git Archivado el 24 de diciembre de 2017 en la Wayback Machine. | Conjunto de vistas de elementos que amplían el marco de vista del modelo Qt. KItemViews incluye un conjunto de vistas que se pueden utilizar con modelos de elementos. Incluye vistas para categorizar listas y agregar filtros de búsqueda a listas planas y jerárquicas. |
KJobWidgets | 2 | kjobwidgets.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | KJobWIdgets proporciona widgets para mostrar el progreso de trabajos asincrónicos. |
KJS | 1 | kjs.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KJS proporciona un intérprete compatible con ECMAScript. El estándar ECMA se basa en lenguajes de programación bien conocidos, como JavaScript de Netscape y JScript de Microsoft. |
KJSEmbed | 3 | kjsembed.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KSJEmbed proporciona un método para vincular objetos JavaScript a QObjects, para que pueda crear scripts para sus aplicaciones. |
KMediaPlayer | 3 | kmediaplayer.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | En desuso : Interfaz para reproductor multimedia KParts. KMediaPlayer se basa en el marco de KParts para proporcionar una interfaz común para KParts que puede reproducir archivos multimedia. Este marco es una ayuda de portabilidad. No se recomienda para proyectos nuevos, y se recomienda a los proyectos existentes que lo usan que se alejen de él y utilicen KParts simples en su lugar. |
KNewStuff | 3 | Knowstuff.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Marco para descargar y compartir datos de aplicaciones adicionales. La biblioteca KNewStuff implementa el intercambio colaborativo de datos para aplicaciones. Utiliza libattica para admitir la especificación Open Collaboration Services. Attica Archivado el 28 de diciembre de 2017 en Wayback Machine es una biblioteca de Qt que implementa la API de Open Collaboration Services versión 1.6. Otorga un fácil acceso a los servicios como la consulta de información sobre personas y contenidos. |
Notificaciones | 3 | knotifications.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Solución con abstracción para notificaciones del sistema. |
KNotifyConfig | 3 | knotifyconfig.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Módulo de configuración KNotify. |
KParts | 3 | kparts.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | La biblioteca de KParts implementa el marco para las partes de KDE. Un componente de la interfaz de usuario individual se llama KPart y es un widget elaborado con una interfaz de usuario definida en términos de acciones (elementos de menú, iconos de la barra de herramientas). Los KParts son análogos a los componentes de Bonobo en los controles GNOME y ActiveX en el Modelo de objetos componentes de Microsoft . Konsole está disponible como KPart y se utiliza en aplicaciones como Konqueror y Kate . Ejemplos de usos de KParts:
Documentación adicional:
|
KPlotting | 1 | kplotting.git Archivado el 31 de enero de 2019 en la Wayback Machine. | KPlotWidget es una clase derivada de QWidget que proporciona una clase base virtual para trazar datos fácilmente. La idea detrás de KPlotWidget es que solo tiene
para especificar información en "unidades de datos"; es decir, las unidades naturales de los datos que se trazan. KPlotWidget convierte automáticamente todo en unidades de píxeles de pantalla. KPlotWidget dibuja los ejes X e Y con marcas de graduación y etiquetas de graduación. Determina automáticamente cuántas marcas de graduación usar y dónde deben estar, según los límites de datos especificados para el gráfico. Puede cambiar los límites llamando a `setLimits (doble x1, doble x2, doble y1, doble y2)`. Los datos que se trazarán se almacenan utilizando la clase KPlotObject. KPlotObject consiste en una QList de QPointF, cada uno de los cuales especifica las coordenadas X, Y de un punto de datos. KPlotObject también especifica el "tipo" de datos que se trazarán (PUNTOS o CURVA o POLÍGONO o ETIQUETA). |
KPty | 2 | kpty.git Archivado el 31 de enero de 2019 en la Wayback Machine. | Interfaz con dispositivos pseudo terminales. Esta biblioteca proporciona primitivas para interactuar con dispositivos pseudo terminales, así como una clase derivada de KProcess para ejecutar procesos secundarios y comunicarse con ellos mediante un pty. |
Kross | 3 | kross.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Incorporación de secuencias de comandos en aplicaciones. Kross es un puente de secuencias de comandos para incrustar la funcionalidad de secuencias de comandos en una aplicación. Es compatible con QtScript como back-end de intérprete de secuencias de comandos. El núcleo de Kross proporciona el marco para tratar de forma transparente con los intérpretes de fondo y ofrece una funcionalidad abstracta para tratar con los scripts. |
KRunner | 3 | krunner.git Archivado el 23 de diciembre de 2017 en la Wayback Machine. | Marco para proporcionar diferentes acciones dada una consulta de cadena. Marco para corredores de plasma. El espacio de trabajo de Plasma proporciona una aplicación llamada KRunner que, entre otras cosas, permite escribir en un área de texto, lo que provoca que varias acciones y la información que coincida con el texto aparezca a medida que se escribe el texto. Una aplicación para esto es el corredor universal que puede lanzar con ALT+ F2. |
KService | 3 | kservice.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KService proporciona un marco de complementos para manejar servicios de escritorio. Los servicios pueden ser aplicaciones o bibliotecas. Pueden estar vinculados a tipos MIME o manejados por código específico de la aplicación. |
KSyntax Resaltado | 1 | syntax-highlighting.git Archivado el 31 de enero de 2019 en la Wayback Machine. | Esta es una implementación independiente del motor de resaltado de sintaxis de Kate. Está pensado como un bloque de construcción para editores de texto, así como para la representación de texto resaltado simple (por ejemplo, como HTML), y admite tanto la integración con un editor personalizado como una subclase QSyntaxHighlighter lista para usar. |
KTextEditor | 3 | ktexteditor.git Archivado el 10 de diciembre de 2018 en la Wayback Machine. | KTextEditor proporciona un potente componente de editor de texto que puede incrustar en su aplicación, ya sea como KPart o utilizando la biblioteca KF5 :: TextEditor (si necesita más control). El componente del editor de texto contiene muchas funciones útiles, desde el resaltado de sintaxis y la sangría automática hasta la compatibilidad con secuencias de comandos avanzadas, lo que lo hace adecuado para todo, desde un simple editor de archivos de texto integrado hasta un IDE avanzado. |
KTextWidgets | 3 | ktextwidgets.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KTextWidgets proporciona widgets para mostrar y editar texto. Admite texto enriquecido y texto sin formato. |
KUnitConversion | 2 | kunitconversion.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | KUnitConversion proporciona funciones para convertir valores en diferentes unidades físicas. Admite la conversión de diferentes prefijos (por ejemplo, kilo, mega, giga), así como la conversión entre diferentes sistemas de unidades (por ejemplo, litros, galones). Se admiten las siguientes áreas:
|
KWalletMarco | 3 | kwallet.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Almacenamiento seguro en todo el escritorio para contraseñas. Este marco contiene dos componentes principales:
|
KWayland | 1 | kwayland.git Archivado el 31 de enero de 2019 en la Wayback Machine. | KWayland es la biblioteca de KDE para implementar el soporte de Wayland en aplicaciones de KDE, satisface necesidades más allá de lo que ofrece QtWayland . Todas las aplicaciones de KDE en una sesión de plasma-wayland usan esta biblioteca y quizás LXQt también. KWayland ha sido parte de KDE Frameworks desde 5.22 (mayo de 2016); anteriormente se distribuía como parte de KDE Plasma 5. |
Complementos de KWidgets | 1 | kwidgetsaddons.git Archivado el 25 de diciembre de 2017 en la Wayback Machine. | Complemento con varias clases además de QtWidgets. Si está transfiriendo aplicaciones de la biblioteca "kdeui" de la plataforma 4 de KDE, encontrará muchas de sus clases aquí. Se proporcionan clases de acción que se pueden agregar a barras de herramientas o menús, una amplia gama de widgets para seleccionar caracteres, fuentes, colores, acciones, fechas y horas, o tipos MIME, así como cuadros de diálogo compatibles con la plataforma para páginas de configuración, cuadros de mensajes, y solicitudes de contraseña. Se pueden encontrar más widgets y clases en otros marcos de KDE. |
KWindowSystem | 1 | kwindowsystem.git Archivado el 02/02/2019 en la Wayback Machine. | Permite interactuar con el sistema de ventanas . Proporciona NETRootInfo para acceder al estado global (todo lo que está configurado en la ventana raíz) y NETWinInfo para toda la información sobre una ventana específica. Las clases tienen un administrador de ventanas y una perspectiva de cliente. Esta es la base que impulsa a KWin y varias partes del shell gráfico , como el administrador de tareas. Además de esas clases específicas de X11, tenemos una API conveniente KWindowInfo y KWindowSystem que proporciona una API independiente del sistema de ventanas para nuestras aplicaciones. |
KXMLGUI | 3 | kxmlgui.git Archivado el 31 de enero de 2019 en la Wayback Machine. | KXMLGUI proporciona un marco para administrar las acciones del menú y de la barra de herramientas de forma abstracta. Las acciones se configuran mediante una descripción XML y enlaces en el código de la aplicación. El marco admite la fusión de múltiples descripciones, por ejemplo, para integrar acciones de complementos. KXMLGui hace uso de la funcionalidad de autorización de kiosco de KConfig (consulte el espacio de nombres KAuthorized en ese marco). En particular, las instancias de QAction agregadas a KActionCollection se desactivan si KAuthorized :: authorizeAction () informa que no están autorizadas. Los elementos del menú de ayuda estándar (KHelpMenu) también se pueden deshabilitar en función de la configuración del quiosco y se puede restringir la edición de la barra de herramientas. Consulte la documentación de KActionCollection, KHelpMenu y KToolBar para obtener más información. |
Marco de plasma | 3 | plasma-framework.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Bibliotecas fundamentales, componentes en tiempo de ejecución y herramientas de los espacios de trabajo de KDE Plasma basados en KF5 y Qt5. La estructura de plasma proporciona lo siguiente:
|
Prisión | 1 | Prison.git Archivado el 5 de marzo de 2017 en la Wayback Machine. | Prison es una capa / biblioteca de abstracción de códigos de barras basada en Qt y proporciona acceso uniforme a la generación de códigos de barras con datos. |
Sólido | 1 | solid.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Solid proporciona una forma de consultar e interactuar con el hardware independientemente del sistema operativo subyacente. Proporciona las siguientes funciones para los desarrolladores de aplicaciones:
|
Soneto | 1 | sonnet.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | Sonnet es una biblioteca de corrección ortográfica basada en complementos para aplicaciones basadas en Qt. Es compatible con varios complementos diferentes, incluidos HSpell, Enchant, ASpell y HUNSPELL. También admite la detección automática de idiomas, basada en una combinación de diferentes algoritmos. La forma más sencilla de usar Sonnet en su aplicación es usar la clase SpellCheckDecorator en su QTextEdit. |
Sindicación | 2 | syndication.git Archivado el 30 de enero de 2019 en la Wayback Machine. | La sindicación es una biblioteca de analizadores RSS / Atom. |
ThreadWeaver | 1 | threadweaver.git Archivado el 28 de diciembre de 2017 en la Wayback Machine. | ThreadWeaver es una cola de trabajos. Ejecuta trabajos en subprocesos que administra internamente. |
Kirigami
Kirigami es un marco de aplicación QML desarrollado por Marco Martin que permite a los desarrolladores escribir aplicaciones que se ejecutan de forma nativa en Android, iOS, Windows, Plasma Mobile y cualquier entorno de escritorio clásico de Linux sin ajustes de código.
Es utilizado por varias aplicaciones, por ejemplo , la aplicación de buceo Subsurface de Linus Torvalds y Dirk Hohndels, el cliente de mensajería Banji, el mensajero Kaidan, el reproductor de música Vvave y el centro de software de KDE Discover.
Paquetes de programas
La distribución de Linux usa algún sistema de administración de paquetes para empaquetar el software que distribuyen. Debian, por ejemplo, distribuye KGlobalAccel con el nombre de paquete libkf5globalaccel , mientras que Fedora lo distribuye con el nombre kf5-kglobalaccel .
Fijaciones
Aunque está escrito principalmente en C ++, hay muchos enlaces para otros lenguajes de programación disponibles:
- Pitón
- Ruby ( Korundum , construido sobre QtRuby )
- Perl
- C # (sin embargo, el marco actual para vincularse a C # y otros lenguajes .NET ha quedado obsoleto, y el reemplazo solo se compila en Windows).
Estos y otros enlaces utilizan las siguientes tecnologías:
- Smoke: para crear enlaces para Ruby , C # y PHP
- SIP: para crear enlaces para Python
- Kross: scripting integrado para aplicaciones C ++ , con soporte para Ruby, Python , JavaScript , QtScript , Falcon y Java
Muchos enlaces no se actualizaron a Qt5 y KF5 o solo más adelante en el ciclo de lanzamiento.
Historia
La versión 5.0 fue precedida por una vista previa de la tecnología, dos versiones alfa y tres versiones beta.
El código fuente de KDE Frameworks ha existido desde KDElibs 1. La primera versión como KDE Frameworks fue con la versión 5, para tener en cuenta el hecho de que la base del código era la de la plataforma KDE versión 4 (la única versión principal de la plataforma KDE ).
La transición de la plataforma KDE a los marcos de trabajo de KDE comenzó en agosto de 2013, guiada por los principales colaboradores técnicos de KDE.
Después del lanzamiento inicial de KDE Frameworks 5.0, los desarrolladores se enfocaron en agregar nuevas características a los componentes en KDE Frameworks 5, un ejemplo es una mejor integración de Firefox en KDE.
La principal mejora de Frameworks 5 es su modularización. En versiones anteriores de KDE, las bibliotecas estaban empaquetadas como un solo paquete grande. En Frameworks, las bibliotecas se dividieron en paquetes individuales más pequeños. Esto facilita la utilización de las bibliotecas por otro software basado en Qt, ya que las dependencias se pueden mantener al mínimo.
Mientras que KDE 4 se basó en la versión 4 del kit de herramientas del widget Qt , Frameworks 5 se basa en la versión 5.
Transformación KDE4
Durante KDE SC 4, la entonces llamada Plataforma KDE consistía en todas las bibliotecas y servicios necesarios para KDE Plasma y las aplicaciones. A partir de Qt 5, esta plataforma se transformó en un conjunto de módulos que ahora se conoce como KDE Frameworks. Estos módulos incluyen: Solid , Nepomuk , Phonon , etc. y tienen licencia LGPL, BSD, MIT o X11.
Adopción
Además de la compilación de software de KDE , existen otros adoptantes como los entornos de escritorio LXQt , MoonLightDE o Hawaii.
La versión 3.0 de Krita , el editor de gráficos rasterizados de Calligra Suite , que se lanzó el 31 de mayo de 2016, depende de KDE Frameworks 5 y Qt 5.2.
Con Kirigami, también hay un mayor uso por parte de aplicaciones como Amarok , Avogadro , Trojitá o Subsurface .