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 . [6] 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, corrección ortográfica, la colección sirve como base tecnológica para las aplicaciones KDE Plasma 5 y KDE distribuidas bajo la GNU Lesser General Public License (LGPL) . [7]
Autor (es) original (es) | KDE |
---|---|
Desarrollador (es) | KDE |
Versión inicial | 1 de julio de 2014 |
Lanzamiento estable | 5.83.0 (12 de junio de 2021 [±] [1] | )
Repositorio | |
Escrito en | C ++ ( Qt ) |
Sistema operativo | Multiplataforma (incluida la compatibilidad "parcial" con Android , [2] [3] Windows , [4] macOS y Haiku ) |
Tipo | |
Licencia | Licencia pública general reducida de GNU (LGPL) [5] |
Sitio web | api |
Descripció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. [8]
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 publican mensualmente [9] y utilizan git. [10] [11]
Debería ser posible instalar KDE Frameworks junto con la plataforma KDE 4 para que las aplicaciones puedan usar cualquiera de ellos. [12]
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 . [13] 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.
Los "Niveles" se refieren a las dependencias en tiempo de compilación de otros Frameworks.
- Los Frameworks de Nivel 1 no tienen dependencias dentro de los Frameworks y solo necesitan Qt y otras bibliotecas relevantes.
- Los marcos de nivel 2 pueden depender solo del nivel 1.
- Los marcos de nivel 3 pueden depender de otros marcos de nivel 3, así como de los niveles 2 y 1.
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 . [14]
Los Frameworks de KDE se agrupan en cuatro niveles diferentes según la dependencia de otras bibliotecas. Los marcos de nivel 1 solo dependen de Qt u otras bibliotecas del sistema. Los marcos de nivel 2 pueden depender de bibliotecas de nivel 1, Qt y / u otras bibliotecas del sistema, etc. [15]
Lista completa de marcos | |||
---|---|---|---|
Nombre | Nivel | git | Descripción |
Integración del marco | 4 | frameworkintegration.git | 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 del espacio de trabajo de plasma de KDE 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 | Componentes principales del administrador de actividades de KDE Activities. |
KApiDox | 4 | kapidox.git | 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 | Clases para facilitar la lectura, creación y manipulación de formatos de "archivo", incluidos zip y tar . |
KAuth | 2 | kauth.git | 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 | 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 | 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 | 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 | 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 donde 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 | 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 | 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 | 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 | Brinda soporte para interceptar y manejar fallas de aplicaciones. |
Complementos de KDBus | 1 | kdbusaddons.git | KDBusAddons proporciona clases DBus de conveniencia además de QtDBus, así como una API para crear módulos KDED. |
KDeclarativo | 3 | kdeclarative.git | Complemento para Qt declarativo |
KDED | 3 | kded.git | 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 | 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 | 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 | Integración del motor de renderizado HTML WebKit . La biblioteca KDEWebkit proporciona la integración de 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 | 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 detecten sin ningún tipo de intervención del usuario o infraestructura centralizada. |
KDocTools | 2 | kdoctools.git | Proporciona herramientas para generar documentación en varios formatos a partir de archivos DocBook. |
KEmoticonos | 3 | kemoticons.git | Proporciona temas de emoticonos y clases de ayuda para convertir automáticamente emoticonos de texto en emoticonos gráficos. |
KGlobalAccel | 1 | kglobalaccel.git | 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 | 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 | 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 | Internacionalización de texto de IU 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 | Esta biblioteca contiene clases para mejorar el manejo de iconos en aplicaciones que utilizan KDE Frameworks. |
KIdleTime | 1 | kidletime.git | Módulo de integración para detección de tiempos de inactividad. |
KImageFormats | 1 | kimageformats.git | 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 | 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 vincularse. |
KIO | 3 | kio.git | 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 | Un conjunto de complementos de QtQuick para crear interfaces de usuario basadas en las pautas de KDE UX |
KItemModels | 1 | kitemmodels.git | Conjunto de modelos de elementos que amplían el marco de vista del modelo Qt. KItemModels proporciona los siguientes modelos:
|
KItemViews | 1 | kitemviews.git | 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 | KJobWIdgets proporciona widgets para mostrar el progreso de trabajos asincrónicos. |
KJS | 1 | kjs.git | 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 | KSJEmbed proporciona un método para vincular objetos JavaScript a QObjects, para que pueda crear scripts para sus aplicaciones. |
KMediaPlayer | 3 | kmediaplayer.git | 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 | 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 es una biblioteca Qt que implementa la API de Open Collaboration Services versión 1.6. Otorga fácil acceso a los servicios como la consulta de información sobre personas y contenidos. |
Notificaciones | 3 | knotifications.git | Solución con abstracción para notificaciones del sistema. |
KNotifyConfig | 3 | knotifyconfig.git | Módulo de configuración KNotify. |
KParts | 3 | kparts.git | 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 | 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 | 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 usando un pty. |
Kross | 3 | kross.git | 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 | 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 | 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 | resaltado de sintaxis.git | 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 | 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 | KTextWidgets proporciona widgets para mostrar y editar texto. Admite texto enriquecido y texto sin formato. |
KUnitConversion | 2 | kunitconversion.git | 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 | Almacenamiento seguro en todo el escritorio para contraseñas. Este marco contiene dos componentes principales:
|
KWayland | 1 | kwayland.git | 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 | 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 | 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. [16] Además de esas clases específicas de X11, tenemos una conveniente API KWindowInfo y KWindowSystem que proporciona una API independiente del sistema de ventanas para nuestras aplicaciones. |
KXMLGUI | 3 | kxmlgui.git | 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 | Bibliotecas fundamentales, componentes en tiempo de ejecución y herramientas de los espacios de trabajo KDE Plasma basados en KF5 y Qt5. La estructura de plasma proporciona lo siguiente:
|
Prisión | 1 | prisión.git | 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 | 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 | 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 | La distribución es una biblioteca de analizadores RSS / Atom. |
ThreadWeaver | 1 | threadweaver.git | ThreadWeaver es una cola de trabajos. Ejecuta trabajos en subprocesos que administra internamente. |
Paquetes de software
La distribución de Linux utiliza algún sistema de gestión de paquetes para empaquetar el software que distribuyen. Debian, por ejemplo, distribuye KGlobalAccel con el nombre de paquete libkf5globalaccel , [17] mientras que Fedora lo distribuye con el nombre kf5-kglobalaccel . [18]
Historial de versiones
La versión 5.0 fue precedida por una vista previa de la tecnología, dos versiones alfa y tres versiones beta. [19] [20] [21]
Versiones de Frameworks 5 | ||||||
---|---|---|---|---|---|---|
Versión | Fecha | Notas | ||||
5,0 | 7 de julio de 2014 [22] | Versión inicial, requiere Qt 5.2. | Versión antigua Ultima versión Lanzamiento futuro | |||
5.1 | 7 de agosto de 2014 [23] | |||||
5.2 | 12 de septiembre de 2014 [24] | |||||
5.3 | 7 de octubre de 2014 [25] | |||||
5.4 | 6 de noviembre de 2014 [26] | |||||
5.5 | 11 de diciembre de 2014 [27] | |||||
5,6 | 8 de enero de 2015 [28] | Nuevos marcos: KPackage y NetworkManagerQt | ||||
5.7 | 14 de febrero de 2015 [29] | |||||
5.8 | 13 de marzo de 2015 [30] | Nuevos marcos: KPeople y KXmlRpcClient | ||||
5.9 | 10 de abril de 2015 [31] | Nuevo marco: ModemManagerQt | ||||
5.10 | 8 de mayo de 2015 [32] | |||||
5.11 | 12 de junio de 2015 [33] | Nuevo marco: BlueZ-Qt (cf. BlueZ ) | ||||
5.12 | 10 de julio de 2015 [34] | |||||
5.13 | 12 de agosto de 2015 [35] | Nuevos marcos: Baloo (reemplaza a NEPOMUK ) y KFileMetaData, ahora requiere Qt 5.3. | ||||
5.14 | 11 de septiembre de 2015 [36] | |||||
5.15 | 10 de octubre de 2015 [37] | |||||
5.16 | 13 de noviembre de 2015 [38] | |||||
5.17 | 12 de diciembre de 2015 [39] | |||||
5.18 | 9 de enero de 2016 [40] | |||||
5.19 | 13 de febrero de 2016 [41] | |||||
5,20 | 13 de marzo de 2016 [42] | |||||
5.21 | 9 de abril de 2016 [43] | Nuevo marco: KActivities-stats, ahora requiere Qt 5.4. | ||||
5.22 | 15 de mayo de 2016 [44] | Nuevo marco: KWayland | ||||
5.23 | 13 de junio de 2016 [45] | |||||
5.24 | 9 de julio de 2016 [46] | |||||
5.25 | 13 de agosto de 2016 [47] | Ahora requiere Qt 5.5 o superior. | ||||
5.26 | 10 de septiembre de 2016 [48] | |||||
5.27 | 8 de octubre de 2016 [49] | |||||
5.28 | 15 de noviembre de 2016 [50] | Nuevo marco: KSyntaxHighlighting [51] | ||||
5.29 | 12 de diciembre de 2016 [52] | Nuevo marco: prisión | ||||
5.30 | 14 de enero de 2017 [53] | Agregar soporte de KNewStuff para KPackage | ||||
5.31 | 11 de febrero de 2017 [54] | Muchos módulos ahora tienen enlaces de Python, ahora requiere Qt 5.6 o superior | ||||
5.32 | 11 de marzo de 2017 [55] | |||||
5.33 | 8 de abril de 2017 [56] | |||||
5.34 | 13 de mayo de 2017 [57] | |||||
5.35 | 1 de junio de 2017 [58] | |||||
5.36 | 8 de julio de 2017 [59] | |||||
5.37 | 13 de agosto de 2017 [60] | Nuevo marco: Kirigami, ahora requiere Qt 5.7 o superior | ||||
5.38 | 9 de septiembre de 2017 [61] | |||||
5.39 | 14 de octubre de 2017 [62] | |||||
5.40 | 11 de noviembre de 2017 [63] | |||||
5.41 | 10 de diciembre de 2017 [64] | |||||
5.42 | 13 de enero de 2018 [65] | |||||
5.43 | 12 de febrero de 2018 [66] | Nuevos marcos: KHolidays y Purpose | ||||
5.44 | 10 de marzo de 2018 [67] | |||||
5.45 | 14 de abril de 2018 [68] | requiere Qt 5.8 o superior | ||||
5.46 | 12 de mayo de 2018 [69] | |||||
5.47 | 9 de junio de 2018 [70] | |||||
5.48 | 15 de julio de 2018 [71] | |||||
5.49 | 11 de agosto de 2018 [72] | |||||
5.50 | 8 de septiembre de 2018 [73] | Nuevo marco: distribución | ||||
5.51 | 15 de octubre de 2018 [74] | |||||
5.52 | 10 de noviembre de 2018 [75] | |||||
5.53 | 9 de diciembre de 2018 [76] | requiere Qt 5.9 o superior | ||||
5.54 | 12 de enero de 2019 [77] | |||||
5.55 | 9 de febrero de 2019 [78] | requiere Qt 5.10 o superior | ||||
5.56 | 9 de marzo de 2019 [79] | |||||
5.57 | 13 de abril de 2019 [80] | |||||
5.58 | 13 de mayo de 2019 [81] | |||||
5,59 | 8 de junio de 2019 [82] | |||||
5.60 | 13 de julio de 2019 [83] | requiere Qt 5.11 o superior | ||||
5,61 | 10 de agosto de 2019 [84] | |||||
5,62 | 14 de septiembre de 2019 [85] | |||||
5.63 | 12 de octubre de 2019 [86] | Se agregaron KCalendarCore y KContacts | ||||
5,64 | 10 de noviembre de 2019 [87] | |||||
5,65 | 14 de diciembre de 2019 [88] | Añadido KQuickCharts | ||||
5,66 | 11 de enero de 2020 [89] | |||||
5,67 | 8 de febrero de 2020 [90] | |||||
5,68 | 15 de marzo de 2020 [91] | |||||
5,69 | 5 de abril de 2020 [92] | |||||
5.70 | 9 de mayo de 2020 [93] | |||||
5.71 | 13 de junio de 2020 [94] | |||||
5.72 | 11 de julio de 2020 [95] | |||||
5.73 | 8 de agosto de 2020 [96] | |||||
5.74 | 12 de septiembre de 2020 [97] | |||||
5.75 | 10 de octubre de 2020 [98] | |||||
5.76 | 7 de noviembre de 2020 [99] | |||||
5.77 | 12 de diciembre de 2020 [100] | |||||
5.78 | 9 de enero de 2021 [101] | |||||
5.79 | 12 de febrero de 2021 [102] | |||||
5.80 | 13 de marzo de 2021 [103] | |||||
5,81 | 10 de abril de 2021 [104] | |||||
5,82 | 8 de mayo de 2021 [105] | |||||
5.83 | 12 de junio de 2021 [106] | |||||
5.84 [107] |
Historia
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 KDE comenzó en agosto de 2013, guiada por los principales colaboradores técnicos de KDE. [8]
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, [108] un ejemplo es una mejor integración de Firefox en KDE. [109]
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. [8]
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.
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 .
Referencias
- ^ "KDE Ships Frameworks 5.83.0" . KDE . 12 de junio de 2021 . Consultado el 16 de junio de 2021 .
- ^ https://www.kde.org/announcements/kde-frameworks-5.24.0.php
- ^ https://community.kde.org/Android
- ^ https://api.kde.org/
- ^ "Primera versión de KDE Frameworks 5" . 2014-07-07.
- ^ "Los Frameworks de KDE" . Documentación de API .
- ^ "Estructuras de KDE" . Base técnica .
- ^ a b c Howard Chan (4 de septiembre de 2013). "La estructura de la versión de KDE evoluciona" . KDE . Consultado el 27 de febrero de 2014 .
- ^ "Programa de lanzamiento para KDE Frameworks 5" .
- ^ "Flujo de trabajo de Git para Frameworks" .
- ^ "Documentación de la API KDE Frameworks5" . Archivado desde el original el 22 de agosto de 2014.
- ^ "Coinstalabilidad con la plataforma KDE 4" .
- ^ "metainfo.yaml de KConfig" .
- ^ Jos Poortvliet (17 de diciembre de 2013). "Qt 5.2 - Fundamentos para KDE Frameworks 5" . Dot.kde.org . Consultado el 10 de marzo de 2014 .
- ^ Howard Chan (25 de septiembre de 2013). "Frameworks 5" . Dot.kde.org . Consultado el 10 de marzo de 2014 .
- ^ http://blog.martin-graesslin.com/blog/2014/02/kwindowsystem-in-frameworks-5/
- ^ "KGlobalAccel en Debian" .
- ^ "KGlobalAccel en Fedora" .
- ^ "Vista previa de la tecnología Frameworks 5" . KDE. 2014-01-07.
- ^ "KDE lanza la primera alfa de Frameworks 5" . KDE. 2014-02-14.
- ^ "KDE lanza la segunda alfa de Frameworks 5" . KDE. 2014-03-03.
- ^ "Primera versión de KDE Frameworks 5" . KDE . 2014-07-07 . Consultado el 31 de diciembre de 2017 .
- ^ "Segunda versión de KDE Frameworks 5" . KDE . 2014-08-07 . Consultado el 31 de diciembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.2.0" . KDE. 12 de septiembre de 2014 . Consultado el 5 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.3.0" . KDE. 7 de octubre de 2014 . Consultado el 5 de marzo de 2014 .
- ^ "Lanzamiento de KDE Frameworks 5.4.0" . KDE. 6 de noviembre de 2014 . Consultado el 5 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.5.0" . KDE. 11 de diciembre de 2014 . Consultado el 5 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.6.0" . KDE. 8 de enero de 2015 . Consultado el 5 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.7.0" . KDE. 14 de febrero de 2015 . Consultado el 5 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.8.0" . KDE. 13 de marzo de 2015 . Consultado el 13 de marzo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.9.0" . KDE. 10 de abril de 2015 . Consultado el 30 de abril de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.10.0" . KDE. 8 de mayo de 2015 . Consultado el 9 de mayo de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.11.0" . KDE . Consultado el 29 de junio de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.12.0" . KDE . Consultado el 10 de julio de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.13.0" . KDE. 2015-08-12 . Consultado el 12 de agosto de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.14.0" . KDE. 2015-09-12 . Consultado el 12 de septiembre de 2015 .
- ^ "Lanzamiento de KDE Frameworks 5.15.0" . KDE. 2015-10-10.
- ^ "Lanzamiento de KDE Frameworks 5.16.0" . KDE. 2015-11-13.
- ^ "Lanzamiento de KDE Frameworks 5.17.0" . KDE. 2015-12-12.
- ^ "Lanzamiento de KDE Frameworks 5.18.0" . KDE. 2016-01-09.
- ^ "Lanzamiento de KDE Frameworks 5.19.0" . KDE. 2016-02-13.
- ^ "Lanzamiento de KDE Frameworks 5.20.0" . KDE . 2016-03-13 . Consultado el 31 de diciembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.21.0" . KDE . 2016-04-09 . Consultado el 9 de abril de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.22.0" . KDE . 2016-05-15 . Consultado el 15 de mayo de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.23.0" . KDE . 2016-06-13 . Consultado el 14 de junio de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.24.0" . KDE . 2016-07-09 . Consultado el 10 de julio de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.25.0" . KDE . 2016-08-13 . Consultado el 21 de agosto de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.26.0" . KDE . 2016-09-10 . Consultado el 8 de octubre de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.27.0" . KDE . 2016-10-08 . Consultado el 8 de octubre de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.28.0" . KDE . 2016-11-15 . Consultado el 15 de noviembre de 2016 .
- ^ "KSyntaxHighlighing: un nuevo marco de resaltado de sintaxis" . KDE . 2016-11-15 . Consultado el 21 de noviembre de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.29.0" . KDE . 2016-12-12 . Consultado el 13 de diciembre de 2016 .
- ^ "Lanzamiento de KDE Frameworks 5.30.0" . KDE . 2017-01-14 . Consultado el 27 de enero de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.31.0" . KDE . 2017-02-11 . Consultado el 19 de febrero de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.32.0" . KDE . 2017-03-11 . Consultado el 11 de marzo de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.33.0" . KDE . 2017-04-08 . Consultado el 8 de abril de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.34.0" . KDE . 2017-05-13 . Consultado el 13 de mayo de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.35.0" . KDE . 2017-06-10 . Consultado el 10 de junio de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.36.0" . KDE . 2017-07-08 . Consultado el 8 de julio de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.37.0" . KDE . 2017-08-13 . Consultado el 9 de septiembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.38.0" . KDE . 2017-09-09 . Consultado el 9 de septiembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.39.0" . KDE . 2017-10-14 . Consultado el 31 de diciembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.40.0" . KDE . 2017-11-11 . Consultado el 31 de diciembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.41.0" . KDE . 2017-12-10 . Consultado el 31 de diciembre de 2017 .
- ^ "Lanzamiento de KDE Frameworks 5.42.0" . KDE . 2018-01-13 . Consultado el 15 de enero de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.43.0" . KDE . 2018-02-12 . Consultado el 12 de febrero de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.44.0" . KDE . 2018-03-10 . Consultado el 14 de abril de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.45.0" . KDE . 2018-04-14 . Consultado el 14 de abril de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.46.0" . KDE . 2018-05-12 . Consultado el 12 de mayo de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.47.0" . KDE . 2018-06-09 . Consultado el 9 de junio de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.48.0" . KDE . 2018-07-15 . Consultado el 15 de agosto de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.49.0" . KDE . 2018-08-11 . Consultado el 15 de agosto de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.50.0" . KDE . 2018-09-08 . Consultado el 8 de septiembre de 2018 .
- ^ "Lanzamiento de KDE Frameworks 5.51.0" . KDE . 2018-10-15 . Consultado el 29 de enero de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.52.0" . KDE . 2018-11-10 . Consultado el 29 de enero de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.53.0" . KDE . 2018-12-09 . Consultado el 29 de enero de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.54.0" . KDE . 2019-01-12 . Consultado el 29 de enero de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.55.0" . KDE . 2019-02-09 . Consultado el 9 de febrero de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.56.0" . KDE . 2019-03-09 . Consultado el 4 de septiembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.57.0" . KDE . 2019-04-13 . Consultado el 18 de abril de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.58.0" . KDE . 2019-05-13 . Consultado el 4 de septiembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.59.0" . KDE . 2019-06-08 . Consultado el 4 de septiembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.60.0" . KDE . 2019-07-13 . Consultado el 4 de septiembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.61.0" . KDE . 2019-08-10 . Consultado el 4 de septiembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.62.0" . KDE . 2019-09-14 . Consultado el 12 de octubre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.63.0" . KDE . 2019-10-12 . Consultado el 12 de octubre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.64.0" . KDE . 2019-11-10 . Consultado el 14 de diciembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.65.0" . KDE . 2019-12-14 . Consultado el 14 de diciembre de 2019 .
- ^ "Lanzamiento de KDE Frameworks 5.66.0" . KDE . 2020-01-11 . Consultado el 11 de enero de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.67.0" . KDE . 2020-02-02 . Consultado el 9 de febrero de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.68.0" . KDE . 2020-03-15 . Consultado el 16 de marzo de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.69.0" . KDE . Consultado el 6 de mayo de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.70.0" . KDE . Consultado el 9 de mayo de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.71.0" . KDE . Consultado el 13 de junio de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.72.0" . KDE . Consultado el 14 de julio de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.73.0" . KDE . Consultado el 9 de agosto de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.74.0" . KDE . Consultado el 12 de septiembre de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.75.0" . KDE . Consultado el 12 de octubre de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.76.0" . KDE . Consultado el 14 de noviembre de 2020 .
- ^ "Lanzamiento de KDE Frameworks 5.77.0" . KDE . Consultado el 12 de diciembre de 2020 .
- ^ "KDE Ships Frameworks 5.78.0" . KDE . Consultado el 9 de enero de 2021 .
- ^ "KDE Ships Frameworks 5.79.0" . KDE . Consultado el 15 de febrero de 2021 .
- ^ "KDE envía Frameworks 5.80.0" . KDE . Consultado el 14 de marzo de 2021 .
- ^ "KDE Ships Frameworks 5.81.0" . KDE . Consultado el 10 de abril de 2021 .
- ^ "KDE Ships Frameworks 5.82.0" . KDE . Consultado el 8 de mayo de 2021 .
- ^ "KDE Ships Frameworks 5.83.0" . KDE . Consultado el 12 de junio de 2021 .
- ^ "Horarios / Marcos" . KDE . Consultado el 12 de junio de 2021 .
- ^ "KF5 Update Meeting Minutes 2014-w28" . 2014-07-08.
- ^ "Integración de Firefox + KDE: conseguir que FF utilice Dolphin de forma fiable" . 2014-07-03.
enlaces externos
- Frameworks de KDE en la propia instancia de Gitlab de KDE
- Frameworks de KDE en Phabricator antiguo
- Lista de repositorios de KDE Frameworks en Phabricator