Development/Tutorials (es): Difference between revisions

From KDE TechBase
No edit summary
No edit summary
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Development/Tutorials}}
 
{{warning_(es)| Traducción en curso: solo hasta el punto 6, también está traducido el punto 13 (Plasma)}}
 
Los tutoriales son la forma más rápida de encontrar lo que KDE puede hacer por usted y como hacerlo. Aquí tienes una lista de los tutoriales disponibles actualmente para KDE4. Material para KDE3 y KDE2 está disponible al final de la página.
Los tutoriales son la forma más rápida de encontrar lo que KDE puede hacer por usted y como hacerlo. Aquí tienes una lista de los tutoriales disponibles actualmente para KDE4. El material para KDE3 y KDE2 está disponible al final de la página.


== Introducción a la programación en KDE4 ==
== Introducción a la programación en KDE4 ==
Estś interesado en escribir aplicacion en KDE4? Esta serie de tutoriales están dirigidos a personas totalmente novatas en la programación en KDE4.
 
¿Estás interesado en escribir aplicación en KDE4? Esta serie de tutoriales están dirigidos a personas totalmente novatas en la programación en KDE4.
;[[Development/Tutorials/First program_(es)|Hola Mundo]]
;[[Development/Tutorials/First program_(es)|Hola Mundo]]
:''Una introducción preliminar a los aspectos básicos de la programación en KDE4.''
:''Una introducción preliminar a los aspectos básicos de la programación en KDE4.''


;[[Development/Tutorials/Using KXmlGuiWindow_(es)|Crear la ventana principal]]
;[[Development/Tutorials/Using KXmlGuiWindow_(es)|Crear la ventana principal]]
:''Este tutorial te muestra la magia de la cosa mas importante en una aplicación: la ventana principal''
:''Este tutorial te muestra la magia de la cosa mas importante en una aplicación: la ventana principal''


;[[Development/Tutorials/Using KActions_(es)|Usar KActions]]
;[[Development/Tutorials/Using KActions_(es)|Usar KActions]]
:''Como añadir acciones a los menús y a las toolbars.''


;[[Development/Tutorials/Saving and loading|Guardar y Abrir]]
:''Como añadir acciones a los menús y a las barras de herramientas (toolbars).''
 
;[[Development/Tutorials/Saving and loading_(es)|Guardar y Abrir]]
 
:''Introducción a la biblioteca KIO mientras añades soporte para guardar y abrir en tu aplicación.''
:''Introducción a la biblioteca KIO mientras añades soporte para guardar y abrir en tu aplicación.''


;[[Development/Tutorials/KCmdLineArgs|Argumentos en la línea de órdenes]]
;[[Development/Tutorials/KCmdLineArgs_(es)|Argumentos en la línea de órdenes]]
 
:''Añade la capacidad de especificar a nuestro editor que archivo abrir desde la línea de ordenes.''
:''Añade la capacidad de especificar a nuestro editor que archivo abrir desde la línea de ordenes.''
;[[Development/Tutorials/Session_Management_(es)|Administración de sesiones]]
:''Haz que tu aplicación sea consciente de las sesiones X''


== Básicos ==
== Básicos ==
;[[Development/Tutorials/KDE4 Porting Guide (es)|Portar tu aplicación]]
;[[Development/Tutorials/KDE4 Porting Guide (es)|Portar tu aplicación]]
:''Ayuda para portar aplicaciones de Qt3/KDE3 a Qt4/KDE4.''
:''Ayuda para portar aplicaciones de Qt3/KDE3 a Qt4/KDE4.''


;[[Development/Tutorials/CMake|Introducción a CMake]]
;[[Development/Tutorials/CMake|Introducción a CMake]]
:''Como usar el sistema de construcción CMake usado por KDE4.''
:''Como usar el sistema de construcción CMake usado por KDE4.''


;[[Development/Tutorials/Common Programming Mistakes|Errores comunes de programación]]
;[[Development/Tutorials/Common Programming Mistakes|Errores comunes de programación]]
:''Varios errores comunes que se presentan en el desarrollo de aplicaciones Qt y KDE y como evitarlos.''
:''Varios errores comunes que se presentan en el desarrollo de aplicaciones Qt y KDE y como evitarlos.''


;[[Development/Tutorials/Using Qt Designer|Usar Qt Designer para diseñar interfaces de usuario]]
;[[Development/Tutorials/Using Qt Designer|Usar Qt Designer para diseñar interfaces de usuario]]
:''Como crear archivos UI con el diseñador, y como integrarlos después en un programa KDE.''
:''Como crear archivos UI con el diseñador, y como integrarlos después en un programa KDE.''


;[[Development/Tutorials/Creating Libraries|Crear bibliotecas para compartir código]]
;[[Development/Tutorials/Creating Libraries|Crear bibliotecas para compartir código]]
:''Como añadir la biblioteca al "buildsystem" y como preparar el código fuente.''
 
:''How to add the library to the buildsystem and how to prepare the source code.''
:''Como añadir la biblioteca al sistema de construcción "buildsystem" y como preparar el código fuente.''


== Comprobación y depurado ==
== Comprobación y depurado ==


;[[Development/Tutorials/Debugging|Depurar tu aplicación]]
;[[Development/Tutorials/Debugging|Depurar tu aplicación]]
:''Consejos, herramientas y técnicas para depurar tu aplicación KDE.''
:''Consejos, herramientas y técnicas para depurar tu aplicación KDE.''


;[[Development/Tutorials/Unittests|Escribir "unittests" para Qt4 y KDE4 con QTestLib]] ([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html enlace original])
;[[Development/Tutorials/Unittests|Escribir "unittests" para Qt4 y KDE4 con QTestLib]]  
 
([http://developer.kde.org/documentation/tutorials/writingunittests/writingunittests.html enlace original])
 
:''Tutorial de [mailto:[email protected] Brad Hards] que describe como escribir unittests mediante la framework QTestLib. El tutorial se realiza con un ejemplo, y aun está en desarrollo.''
:''Tutorial de [mailto:[email protected] Brad Hards] que describe como escribir unittests mediante la framework QTestLib. El tutorial se realiza con un ejemplo, y aun está en desarrollo.''


;[[Development/Tutorials/Code_Checking|Maneras semiautomáticas de detectar errores en el código]]
;[[Development/Tutorials/Code_Checking|Maneras semiautomáticas de detectar errores en el código]]
:''Técnicas que puedes usar para detectar errores en el código KDE.''
:''Técnicas que puedes usar para detectar errores en el código KDE.''


Line 51: Line 71:


;[[Development/Tutorials/KConfig|Introducción a KConfig]]
;[[Development/Tutorials/KConfig|Introducción a KConfig]]
:''Una sinopsis de las clases de KConfig y como usarlas en el código de tu aplicación.''
:''Una sinopsis de las clases de KConfig y como usarlas en el código de tu aplicación.''


;[[Development/Tutorials/Using KConfig XT|Uso de KConfig XT]]
;[[Development/Tutorials/Using KConfig XT|Uso de KConfig XT]]
:''Tutorial sobre como usar eficientemente el framework KConfig XT''
:''Tutorial sobre como usar eficientemente el framework KConfig XT''


;[[Development/Tutorials/Updating KConfig Files|Actualizando archivos con KConfig]]
;[[Development/Tutorials/Updating KConfig Files|Actualizando archivos con KConfig]]
:''Tutorial sobre como escribir un script de actualización para conservar los cambios de tu archivo de configuración de tu aplicación y sincornizarlo con el archivo de configuración del usuario''
 
:''Tutorial sobre como escribir un script de actualización para conservar los cambios de tu archivo de configuración de tu aplicación y sincronizarlo con el archivo de configuración del usuario''


== Servicios: Aplicaciones y Plugins ==
== Servicios: Aplicaciones y Plugins ==
;[[Development/Tutorials/Services/Introduction|Introducción al framework de Servicios]]
;[[Development/Tutorials/Services/Introduction|Introducción al framework de Servicios]]
:''Una visión general del framework de Servicios en KDE y qué proporciona a los desarrolladores de aplicaciones. Trata sobre la cache de configuración del sistema (SyCoCa), los archivos de datos fuente y el uso que puede darse a la información indexada.''
:''Una visión general del framework de Servicios en KDE y qué proporciona a los desarrolladores de aplicaciones. Trata sobre la cache de configuración del sistema (SyCoCa), los archivos de datos fuente y el uso que puede darse a la información indexada.''


;[[Development/Tutorials/Services/Traders|Encontrar Servicios usando consultas con operadores (Trader Queries)]]
;[[Development/Tutorials/Services/Traders|Encontrar Servicios usando consultas con operadores (Trader Queries)]]
:''Como encontrar servicios, como plugins o mimetypes, que están indexados en SyCoCa, usando la sintaxis de preguntas con operadores (Trader Query Syntax).''
 
:''Como encontrar servicios, como plugins o tipos MIME (mimetypes), que están indexados en SyCoCa, usando la sintaxis de preguntas con operadores (Trader Query Syntax).''


;[[Development/Tutorials/Services/Plugins|Crear y cargar Plugins mediante KService]]
;[[Development/Tutorials/Services/Plugins|Crear y cargar Plugins mediante KService]]
:''Aprende como definir plugins propios, encontrar plugins instalados (incluidos plugins de terceras partes) y cargarlos de forma fácil y portable usando KService.''
:''Aprende como definir plugins propios, encontrar plugins instalados (incluidos plugins de terceras partes) y cargarlos de forma fácil y portable usando KService.''


== Localización ==
== Localización ==
Véase también el [[Localization|Portal de Localización]].
Véase también el [[Localization|Portal de Localización]].


;[[Development/Tutorials/Localization/Unicode|Introducción a Unicode]]
;[[Development/Tutorials/Localization/Unicode|Introducción a Unicode]]
:''Una introducción a Unicode, así como la forma de manejar datos Unicode en las aplicaciones de KDE.''
 
:''Una introducción a [http://es.wikipedia.org/wiki/Unicode Unicode], así como la forma de manejar datos Unicode en las aplicaciones de KDE.''


;[[Development/Tutorials/Localization/i18n|Escribir aplicaciones teniendo en cuenta la Localización]]
;[[Development/Tutorials/Localization/i18n|Escribir aplicaciones teniendo en cuenta la Localización]]
:''Este tutorial trata sobre que es la localización, por que es importante y como asegurarse de que tu aplicación está lista para ser localizada. Una lectura obligatoria para todos los desarrolladores de aplicaciones.''
:''Este tutorial trata sobre que es la localización, por que es importante y como asegurarse de que tu aplicación está lista para ser localizada. Una lectura obligatoria para todos los desarrolladores de aplicaciones.''


;[[Development/Tutorials/Localization/i18n Mistakes|Evitar errores comunes en la localización]]
;[[Development/Tutorials/Localization/i18n Mistakes|Evitar errores comunes en la localización]]
:''Existen algunos errores comunes que impiden que las aplicaciones sean localizadas correctamente. Descubre cuales son y como evitarlos facilmente en este tutorial.''
:''Existen algunos errores comunes que impiden que las aplicaciones sean localizadas correctamente. Descubre cuales son y como evitarlos facilmente en este tutorial.''


; [[Development/Tutorials/Localization/Building KDE's l10n Module|Construir el modulo de Localización de KDE]]
; [[Development/Tutorials/Localization/Building KDE's l10n Module|Construir el módulo de Localización de KDE]]
 
:''Construir e instalar el soporte de idiomas del módulo de localización de KDE (l10n) es una buena idea para aquellos que están trabajando en aplicaciones del repositorio principal de KDE.  Si lo haces, te permitirá probar tu aplicación en otro idioma y tratar los posibles errores. Aprende como llevarlo a cabo en este tutorial.''
:''Construir e instalar el soporte de idiomas del módulo de localización de KDE (l10n) es una buena idea para aquellos que están trabajando en aplicaciones del repositorio principal de KDE.  Si lo haces, te permitirá probar tu aplicación en otro idioma y tratar los posibles errores. Aprende como llevarlo a cabo en este tutorial.''


; [[Development/Tutorials/Localization/i18n Build Systems|Incorporar l18n a la construcción del sistema]]
; [[Development/Tutorials/Localization/i18n Build Systems|Incorporar l18n a la construcción del sistema]]
:''Una vez que tu aplicación está lista para ser localizada, el siguiente paso es asegurarse que los archivos de traducción se construyen automáticamente y que estos estén actualizados. Este tutorial cubre los añadidos necesarios en CMakeLists.txt, así como el proceso de distribuir el catálogo de mensajes resultante junto a tu aplicación.''
:''Una vez que tu aplicación está lista para ser localizada, el siguiente paso es asegurarse que los archivos de traducción se construyen automáticamente y que estos estén actualizados. Este tutorial cubre los añadidos necesarios en CMakeLists.txt, así como el proceso de distribuir el catálogo de mensajes resultante junto a tu aplicación.''


; [[Development/Tutorials/Localization/i18n Challenges|Retos comunes en i18n y soluciones]]
; [[Development/Tutorials/Localization/i18n Challenges|Retos comunes en i18n y soluciones]]
:''This tutorial covers challenges that you may eventually run into such as translating handbooks and other data that exists outside of the source code, merging and handling obsolete .po files, dealing with freezes, coding in languages other than English and creating independent releases of or moving applications between KDE modules.''
 
:''Este tutorial trata sobre cambios que se pueden introducir eventualmente en tareas tales como traducir manuales (handbooks) y otros datos que existen fuera del código fuente, fusionando , manejando ficheros .po obsoletos, tratando con freezes, codificando en idiomas distintos del Inglés y creando releases independientes de o moviendo aplicaciones entre módulos de KDE.''


; [[Development/Tutorials/Localization/i18n_Semantics|Marcado semántico de los mensajes]]
; [[Development/Tutorials/Localization/i18n_Semantics|Marcado semántico de los mensajes]]
:''Para garantizar una presentación consistente y una representación más significativa de los mensajes en las aplicaciones, el marcado semántico puede aplicarse a los mensajes marcados para la traducción utilizando el sistema KUIT. Este tutorial describe como trabaja este sistema.''
:''Para garantizar una presentación consistente y una representación más significativa de los mensajes en las aplicaciones, el marcado semántico puede aplicarse a los mensajes marcados para la traducción utilizando el sistema KUIT. Este tutorial describe como trabaja este sistema.''


; [[Development/Tutorials/Localization/i18n Krazy|Comprobación automática de código i18n]]
; [[Development/Tutorials/Localization/i18n Krazy|Comprobación automática de código i18n]]
:''El "Krazy code checker" comprueba el código e informa de los errores comunes de i18n.''
:''El "Krazy code checker" comprueba el código e informa de los errores comunes de i18n.''


Line 99: Line 135:


;[[Development/Tutorials/API_Documentation|API Documentation]]
;[[Development/Tutorials/API_Documentation|API Documentation]]
:''This tutorial explains how to document your APIs properly.''
 
:''Este tutorial explica como documentar las APIs correctamente.''


;[[Development/Tutorials/Man_Pages|Man Pages]]
;[[Development/Tutorials/Man_Pages|Man Pages]]
:''Writing and Generating Reference Manual Pages.''


== Application Automation and Scripting ==
:''Escribiendo y Generando Páginas del Manual de Referencia.''
 
== Automatización de aplicaciones y Scripting ==


=== D-Bus ===
=== D-Bus ===
; [[Development/Tutorials/D-Bus/Introduction|Introduction to D-Bus]]
 
:''A straight-forward introduction to the core concepts in D-Bus from an application developer's perspective, this tutorial covers what D-Bus is and how it can be used by applications.''
; [[Development/Tutorials/D-Bus/Introduction_(es)|Introducción a D-Bus]]
; [[Development/Tutorials/D-Bus/Accessing Interfaces|Accessing D-Bus Interfaces]]
 
:''A step-by-step guide to calling D-Bus methods and connecting to D-Bus signals using QtDBus.''
:''Una introducción dirigida a comprender los conceptos relacionados con D-Bus desde una perspectiva del diseñador de aplicaciones, este tutorial trata sobre que es D-Bus y como puede ser utilizado por las aplicaciones.''
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|Intermediate D-Bus]]
 
:''Tips to make use of QtDBus when faced with problematic real-world interfaces.''
; [[Development/Tutorials/D-Bus/Accessing Interfaces|Accediendo a los Interfaces de D-Bus]]
; [[Development/Tutorials/D-Bus/Creating Interfaces|Creating D-Bus Interfaces]]
 
:''Learn how to expose functionality in your application by creating and using custom D-Bus interfaces. Covers generating the XML descriptions, instantiating interfaces at run time and setting up the build system with CMake.''
:''Una guia paso a paso sobre como llamar a métodos D-Bus y conectar con señales de D-Bus utilizando para ello QtDBus.''
; [[Development/Tutorials/D-Bus/Autostart Services|D-Bus Autostart Services]]
 
:''Turn your application into a D-Bus autostart service with this tutorial. This D-Bus feature, also known as "D-Bus service activation", will ensure that even when your application isn't running that D-Bus calls made to it will work by relying on the D-Bus daemon itself to start your app if and when needed.''
; [[Development/Tutorials/D-Bus/Intermediate_D-Bus|D-Bus Intermedio]]
; [[Development/Tutorials/Porting_to_D-Bus|Porting from DCOP to D-Bus]]
 
: ''Port your applications from DCOP to D-Bus with this handy guide.''
:''Consejos para hacer uso de QtDBus cuando se enfrentan con interfaces problemáticos del mundo real.''
 
; [[Development/Tutorials/D-Bus/Creating Interfaces|Creando Interfaces D-Bus Interfaces]]
 
:''Aprender como añadir funcionalidad a tus aplicaciones creando y utilizando interfaces personalizados D-Bus. Cubre como se generan las descripciones XML, el instanciado de interfaces en tiempo de ejecución y estableciendo el sistema de construcción con CMake.''
 
; [[Development/Tutorials/D-Bus/Autostart Services_(es)|Servicios de autoinicio de D-Bus]]
 
:''Convierte tu aplicación en un servicio autoarrancable D-Bus con este tutorial. Esta característica de D-Bus, también conocida como "activación de servicio D-Bus", asegurará que las llamadas realizadas a D-Bus funcionarán confiando en el propio demonio (daemon) que la pondrá en marcha si tu aplicación no está arrancada en ese momento.  
 
; [[Development/Tutorials/Porting_to_D-Bus|Portando desde DCOP a D-Bus]]
 
: ''Porta tus aplicaciones desde DCOP a D-Bus con esta sencilla guía.''


=== Konqueror ===
=== Konqueror ===
; [[Development/Tutorials/Creating Konqueror Service Menus|Creating Konqueror Service Menus]]
; [[Development/Tutorials/Creating Konqueror Service Menus|Creating Konqueror Service Menus]]
:''This tutorial shows you how to create mimetype-specific actions in Konqueror's context menu (aka "servicemenus").''
 
:''Este tutorial muestra como crear acciones especificas tipo MIME en el contexto de menús de Konqueror (aka "servicemenus").''


=== Kross ===
=== Kross ===
; [[Development/Tutorials/Kross/Introduction|Introduction to Kross]]
; [[Development/Tutorials/Kross/Introduction|Introduction to Kross]]
:''An introduction to the Kross Scripting Framework.''
:''An introduction to the Kross Scripting Framework.''


; [[Development/Tutorials/Kross/Hello_World|Hello World]]
; [[Development/Tutorials/Kross/Hello_World|Hello World]]
:''A first application with working kross code.''
:''A first application with working kross code.''


; [[Development/Tutorials/Kross/Call_Functions_in_Kross|Calling Functions in Kross]]
; [[Development/Tutorials/Kross/Call_Functions_in_Kross|Calling Functions in Kross]]
:''Simple demonstration of calling scripting functions''
 
:''Demostración simple de llamada a funciones de scripting''


; [[Development/Tutorials/Kross/Connecting_Signals_and_slots_in_Kross|Connecting Signals and Slots in Kross]]
; [[Development/Tutorials/Kross/Connecting_Signals_and_slots_in_Kross|Connecting Signals and Slots in Kross]]
:''Simple demonstration of connecting object signals with script slots''
:''Simple demonstration of connecting object signals with script slots''


; [[Development/Tutorials/Kross/Scripts-as-Plugins|Scripts as Plugins with Kross]]
; [[Development/Tutorials/Kross/Scripts-as-Plugins|Scripts as Plugins with Kross]]
:''This tutorial provides a step-by-step introduction how to integrate scripts as plugins into a KDE application.''
:''This tutorial provides a step-by-step introduction how to integrate scripts as plugins into a KDE application.''


; [[Development/Tutorials/Kross/Scripts-as-KPlugins|Load Kross Scripts as KPlugins]]
; [[Development/Tutorials/Kross/Scripts-as-KPlugins|Load Kross Scripts as KPlugins]]
:''This tutorial provides a step-by-step introduction how to load scripts as KPlugins.''
:''This tutorial provides a step-by-step introduction how to load scripts as KPlugins.''


; [[Development/Tutorials/Kross/Script-Actions|Placing script actions in your application menus ]]
; [[Development/Tutorials/Kross/Script-Actions|Placing script actions in your application menus ]]
:''Simple demonstration on how to extend you application menus to execute script files.''
:''Simple demonstration on how to extend you application menus to execute script files.''


=== KOffice ===
=== Plugins para KOffice ===
 
; [[Development/Tutorials/KOffice Overview|KOffice Overview]]
; [[Development/Tutorials/KOffice Overview|KOffice Overview]]
:''This document shows an overview of the different KOffice plugin types and tells you what each of their purpose and strengths are.''  If you are new with KOffice plugins, this is the place to start.
 
:''This document shows an overview of the different KOffice plugin types and tells you what each of their purpose and strengths are.''  Si eres nuevo en el tema de plugins de KOffice, este es el lugar correcto para comenzar el aprendizaje.


; [[Development/Tutorials/Write a Flake Plugin|Creating KOffice Flake Plugins]]
; [[Development/Tutorials/Write a Flake Plugin|Creating KOffice Flake Plugins]]
:''This tutorial shows you how you can build a plugin for KOffice applications to allow you embed content in ODF documents using Flake.''
:''This tutorial shows you how you can build a plugin for KOffice applications to allow you embed content in ODF documents using Flake.''


; [[Development/Tutorials/KWord Scripting|KWord Scripting]]
; [[Development/Tutorials/KWord Scripting|KWord Scripting]]
:''This tutorial shows how to script KWord with Python, Ruby or JavaScript using Kross.''
:''This tutorial shows how to script KWord with Python, Ruby or JavaScript using Kross.''


; [[Development/Tutorials/KSpread Scripting|KSpread Scripting]]
; [[Development/Tutorials/KSpread Scripting|KSpread Scripting]]
:''This tutorial shows how to script KSpread with Python, Ruby or JavaScript using Kross.''
:''This tutorial shows how to script KSpread with Python, Ruby or JavaScript using Kross.''


; [[Development/Tutorials/Krita Scripting|Krita Scripting]]
; [[Development/Tutorials/Krita Scripting|Krita Scripting]]
:''This tutorial shows how to script Krita with Python, Ruby or JavaScript using Kross.''
:''This tutorial shows how to script Krita with Python, Ruby or JavaScript using Kross.''


=== SuperKaramba ===
=== SuperKaramba ===
; [[Development/Tutorials/SuperKaramba|SuperKaramba Tutorial]]
; [[Development/Tutorials/SuperKaramba|SuperKaramba Tutorial]]
:''This tutorial provides an overview of SuperKaramba, theme files and scripting with Python, Ruby and JavaScript.''
:''This tutorial provides an overview of SuperKaramba, theme files and scripting with Python, Ruby and JavaScript.''


== Plugins and KParts ==
== Plugins y KParts ==


; [[Development/Tutorials/Writing kontact plugins|Writing kontact plugins]]:''Kontact plugins are KParts. This tutorial describes how you can write one.''
; [[Development/Tutorials/Writing kontact plugins|Writing kontact plugins]]:


; [[Development/Tutorials/Using KParts|Using KParts]]:''Learn how to load a KPart into an application window.''
''Kontact plugins are KParts. This tutorial describes how you can write one.''


== Search and Metadata ==
; [[Development/Tutorials/Using KParts|Using KParts]]:
 
''Learn how to load a KPart into an application window.''
 
== Búsqueda y Metadatos ==


=== Strigi ===
=== Strigi ===


; [[Development/Tutorials/Writing file analyzers|Writing file analyzers]]
; [[Development/Tutorials/Writing file analyzers|Writing file analyzers]]
:''File analyzers extract data from files to display in the file dialogs and file managers. The data gathered this way is also used to search for files. KDE4 allows the use of multiple analyzers per file type. This tutorial describes how you can write new analyzers.''
:''File analyzers extract data from files to display in the file dialogs and file managers. The data gathered this way is also used to search for files. KDE4 allows the use of multiple analyzers per file type. This tutorial describes how you can write new analyzers.''


Line 182: Line 255:


; [[Development/Tutorials/Metadata/Nepomuk/Quickstart|Nepomuk Quickstart]]
; [[Development/Tutorials/Metadata/Nepomuk/Quickstart|Nepomuk Quickstart]]
:''How to use Nepomuk resources in a quick and painless way without much fuss.''
:''How to use Nepomuk resources in a quick and painless way without much fuss.''


; [[Development/Tutorials/Metadata/Nepomuk/RDFIntroduction|RDF and Ontologies in Nepomuk]]
; [[Development/Tutorials/Metadata/Nepomuk/RDFIntroduction|RDF and Ontologies in Nepomuk]]
:''An introduction to RDF and the usage of ontologies in Nepomuk.''
:''An introduction to RDF and the usage of ontologies in Nepomuk.''


; [[Development/Tutorials/Metadata/Nepomuk/Resources|Handling Resources with Nepomuk]]
; [[Development/Tutorials/Metadata/Nepomuk/Resources|Handling Resources with Nepomuk]]
:''Nepomuk is the KDE library which provides easy access to metadata in the Nepomuk system. Learn how to make your application create and read metadata using the Nepomuk system.''
:''Nepomuk is the KDE library which provides easy access to metadata in the Nepomuk system. Learn how to make your application create and read metadata using the Nepomuk system.''


; [[Development/Tutorials/Metadata/Nepomuk/ResourceGenerator|Using the Nepomuk Resource Generator]]
; [[Development/Tutorials/Metadata/Nepomuk/ResourceGenerator|Using the Nepomuk Resource Generator]]
:''Nepomuk includes a resource generator which creates convenience classes for handling metadata.''
:''Nepomuk includes a resource generator which creates convenience classes for handling metadata.''


; [[Development/Tutorials/Metadata/Nepomuk/NepomukServer|The Nepomuk Server]]
; [[Development/Tutorials/Metadata/Nepomuk/AdvancedQueries|Advanced Queries]]
 
:''The real power of Nepomuk can only be exposed when performing fancy queries on the data repository. This tutorial provides an introduction to semantic and full text queries in Nepomuk.''
 
; [[Development/Tutorials/Metadata/Nepomuk/NepomukServer|The Nepomuk Server and the Architecture of the Nepomuk subsystem]]
 
:''The Nepomuk Server hosts the main Nepomuk data repository and can be accessed directly via a Soprano API.''
:''The Nepomuk Server hosts the main Nepomuk data repository and can be accessed directly via a Soprano API.''


; [[Development/Tutorials/Metadata/Nepomuk/NepomukServices|Nepomuk Services]]
; [[Development/Tutorials/Metadata/Nepomuk/NepomukServices|Nepomuk Services]]
:''The Nepomuk Server manages a set of Nepomuk services.''
:''The Nepomuk Server manages a set of Nepomuk services.''


; [[Development/Tutorials/Metadata/Nepomuk/AdvancedQueries|Advanced Queries]]
:* [[Development/Tutorials/Metadata/Nepomuk/StorageService|Storage Service]] ''The probably most important service hosts the Nepomuk data repository using [http://soprano.sourceforge.net Soprano].''
:''The real power of Nepomuk can only be exposed when performing fancy queries on the data repository. This tutorial provides an introduction to semantic and full text queries in Nepomuk.''
 
:* [[Development/Tutorials/Metadata/Nepomuk/OntologyLoaderService|Ontology Loader]] ''Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.''
 
:* [[Development/Tutorials/Metadata/Nepomuk/FileWatchService|File Watch Service]] ''Monitors the file system for changes and updates the file resource paths and URIs in Nepomuk.''
 
:* [[Development/Tutorials/Metadata/Nepomuk/StrigiService|Strigi Service]]
 
''Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.''
:* [[Development/Tutorials/Metadata/Nepomuk/QueryService|Query Service]] ''Provides persistant query folders.''


== Hardware Awareness (Solid) ==
== Conciencia del Hardware (Solid) ==


;[[Development/Tutorials/Solid_Tutorials|Introduction to Solid]]
;[[Development/Tutorials/Solid_Tutorials|Introduction to Solid]]
:''An introduction to using the Solid hardware discovery and interaction system in KDE applications.''
 
:''Una introducción sobre como usar el robusto sistema para descubrir hardware e interactuar con el sistema en aplicaciones KDE.''


;[[Development/Tutorials/Solid_Network_Tutorial|Accessing Network Information]]
;[[Development/Tutorials/Solid_Network_Tutorial|Accessing Network Information]]
:''How to use the Solid system to get information about the network''
 
:''Como utilizar el robusto sistema de KDE para obtener información sobre la red (network)''
 
== Aplicaciones con privilegios (PolicyKit) ==
 
; [[Development/Tutorials/PolicyKit/Introduction|Introduction to PolicyKit]]
 
:''A straight-forward introduction to what PolicyKit is, and how it can be useful for your next application requiring super-user privileges or user authentication''
 
; [[Development/Tutorials/PolicyKit/Helper_HowTo|Using the caller-helper model to perform actions as root]]
 
:''This tutorial will teach you how to get your application to perform some actions as root in a completely safe and easy manner, if the user is authorized to, by using PolicyKit and the caller-helper technique''
 
; [[Development/Tutorials/PolicyKit/KCM_HowTo|Getting root privileges in KCM Modules]]
 
:''This tutorial will teach you how to create KCModules able to save settings as root''


== Multimedia (Phonon) ==
== Multimedia (Phonon) ==


;[[Development/Tutorials/Phonon/Introduction|Phonon]]
;[[Development/Tutorials/Phonon/Introduction|Phonon]]
:''How to start with the multimedia API''
 
:''Como iniciarse en la API multimedia''


:''How to compile and use Phonon and its GStreamer backend on Linux using Qt 4.3.x''
:''How to compile and use Phonon and its GStreamer backend on Linux using Qt 4.3.x''
::''This article gives you a quick brief of how you can use checkout, compile Phonon and its GStreamer backend on GNU/Linux with just Qt 4.3.x. Towards the end, the article also describes how a developer can make use of Phonon to create simple audio and video players. You can read the article [http://www.vcreatelogic.com/oss/docs/CompilingPhononOnLinux.pdf here]. You can download the editable OpenDocumentText file from [http://www.prashanthudupa.com/phonon/CompilingPhononOnLinux.odt here].''
::''This article gives you a quick brief of how you can use checkout, compile Phonon and its GStreamer backend on GNU/Linux with just Qt 4.3.x. Towards the end, the article also describes how a developer can make use of Phonon to create simple audio and video players. You can read the article [http://www.vcreatelogic.com/oss/docs/CompilingPhononOnLinux.pdf here]. You can download the editable OpenDocumentText file from [http://www.prashanthudupa.com/phonon/CompilingPhononOnLinux.odt here].''


== Plasma ==
== Plasma ==


;[[Development/Tutorials/Plasma/GettingStarted_(es)|Primeros pasos con los Plasmoids]]
Ir a [[Development/Tutorials/Plasma_(es)]] para tutoriales sobre Plasma.
:''Crea tu primer widget de Plasma, o Plasmoid, en C++ con un fondo SVG, un icono y algo de texto''.


;[[Development/Tutorials/Plasma/DataEngines|Escribir DataEngine]]
== Comunicación (Decibel) ==
:''DataEngines proporcionan una [http://api.kde.org/4.0-api/kdebase-apidocs/workspace/libs/plasma/html/classPlasma_1_1DataEngine.html interfaz estandarizada] para varias fuentes de datos para usarlos en las visualizaciones. Aprende que es un DataEngine y como escribir uno''.


;[[Development/Tutorials/Plasma/UsingDataEngines|Usar DataEngines en los Plasmoids]]
;[[Development/Tutorials/Decibel/GettingStarted|Getting started with Decibel]]
:''Con un DateEngine, es posible recuperar datos para mostrarlos de una forma simple y estandar. Este tutorial abarca el tema de como usar DataEngines en los Plasmoids''.


;[[Development/Tutorials/Plasma/AbstractRunner|Crear Runners]]
:''Este tutorial describe como configurar Decibel.''
:''Los "Runners" son plugins que proporcionan la funcionalidad de busqueda basada en acciones mediante el dialogo "ejecutar orden" en el area de trabajo de Plasma. Estos plugins pueden ser usados por cualquier aplicación que enlace con libplasma''.


;[[Development/Tutorials/Plasma/Theme|Creating a Plasma Theme]]
;[[Development/Tutorials/Decibel/Handling_TextChannels|Handling TextChannels]]
:''Guía para crear tu primer tema de Plasma.''


;[[Development/Tutorials/Plasma/UsingExtenders|Usar Extenders]]
:''This tutorial introduces the basics of handling incoming TextChannels by guiding you through building a simple text chat application.''
:''Esta guía te muestra como crear un simple applet (destripando el applet kuiserver) que use extenders''.


== Communication (Decibel) ==
== Administración de información personal (Akonadi) ==


;[[Development/Tutorials/Decibel/GettingStarted|Getting started with Decibel]]
;[[Development/Tutorials/Akonadi/Application|Using Akonadi in Applications]]
:''This tutorial describes how to set up Decibel.''


;[[Development/Tutorials/Decibel/Handling_TextChannels|Handling TextChannels]]
:''Mostrando y modificando datos aportados por Akonadi''
:''This tutorial introduces the basics of handling incoming TextChannels by guiding you through building a simple text chat application.''


== Personal Information Management (Akonadi) ==
;[[Development/Tutorials/Akonadi/Resources|Developing Akonadi Resources]]


;[[Development/Tutorials/Akonadi/Resources|Developing Akonadi Resources]]
:''Akonadi Resources are agent programs which transport PIM data between Akonadi and a backend (files, servers, etc)''
:''Akonadi Resources are agent programs which transport PIM data between Akonadi and a backend (files, servers, etc)''
;[[Development/Tutorials/Akonadi/SerializerPlugin|Using custom data types with Akonadi]]
:''Akonadi can handle arbitrary data as item payloads through the use of a plugin based serialization framework''


== Kate / Kwrite ==
== Kate / Kwrite ==


;[[Development/Tutorials/Kate/KTextEditor Plugins|Getting started with KTextEditor plugins]]
;[[Development/Tutorials/Kate/KTextEditor Plugins|Getting started with KTextEditor plugins]]
:''Creating your first KTextEditor plugin''
 
:''Creando tu primer plugin de KTextEditor''


;[[Development/Tutorials/Kate/KTextEditor_Plugins_Advanced|Developing a plugin with configuration dialog]]
;[[Development/Tutorials/Kate/KTextEditor_Plugins_Advanced|Developing a plugin with configuration dialog]]
:''Adding a configuration dialog to the Time & Date example''
 
:''Añadiendo un diálogo de configuración al ejemplo de hora y fecha (Time & Date)''


;[[Development/Tutorials/Kate/KTextEditor_Example|A small Editor]]
;[[Development/Tutorials/Kate/KTextEditor_Example|A small Editor]]
:''Create a small application using KTextEditor''


==Printing==
:''Crear una pequeña aplicación utilizando KTextEditor''
 
== Impresión ==


;[[Development/Tutorials/Printing Hello World|Hello World]]
;[[Development/Tutorials/Printing Hello World|Hello World]]
:''Introduction to the KDE printing system''
 
:''Introducción al sistema de impresión de KDE''


;[[Development/Tutorials/Printing Print Dialog|Print Dialog]]
;[[Development/Tutorials/Printing Print Dialog|Print Dialog]]
:''Using the KDE print dialog''


== Get Hot New Stuff ==
:''Utilizando el diálogo de impresión de KDE''
; [[Development/Tutorials/K_Hot_New_Stuff2|New introduction to KGet Hot New Stuff2]]
 
== kioslaves ==
 
* [[Development/Tutorials/KIO Slaves/Using KIO Slaves in your Program|Using kioslaves in your Program]]
 
* [[Development/Tutorials/KIO Slaves/Hello World|Creating a Hello-World kioslave]]
 
== Obtener nuevas características (Hot New Stuff) ==
 
; [[Development/Tutorials/K_Hot_New_Stuff2|New introduction to Get Hot New Stuff 2]]
 
:''A short tutorial about how to use KHotNewStuff2 in your application.''
:''A short tutorial about how to use KHotNewStuff2 in your application.''


* old links for KNS1 content:
* old links for KNS1 content:
; [[Development/Tutorials/Introduction to Get Hot New Stuff|Introduction to Get Hot New Stuff]]
; [[Development/Tutorials/Introduction to Get Hot New Stuff|Introduction to Get Hot New Stuff]]
:''An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner.''
:''An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner.''


;[[Development/Tutorials/KNewStuffSecure|KNewStuff Secure]] ([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html Original Link])
;[[Development/Tutorials/KNewStuffSecure|KNewStuff Secure]]  
 
([http://developer.kde.org/documentation/tutorials/knewstuffsecure/index.html Original Link])
 
:''Tutorial showing how to share resources in a secured way (KDE 3.4 and later).''  By András Mantia <[email protected]>.
:''Tutorial showing how to share resources in a secured way (KDE 3.4 and later).''  By András Mantia <[email protected]>.


== Goya ==
== Goya ==
; [[Development/Tutorials/Introduction to Goya usage|Introduction to Goya usage]]
; [[Development/Tutorials/Introduction to Goya usage|Introduction to Goya usage]]
:''An introduction for the Goya subsystem usage, which allows you to easily add widgets to your itemviews and connect their signals to your code, as they were real widgets.''
:''An introduction for the Goya subsystem usage, which allows you to easily add widgets to your itemviews and connect their signals to your code, as they were real widgets.''


; [[Development/Tutorials/Introduction to Goya usage 2|Introduction to Goya usage (part 2)]]
; [[Development/Tutorials/Introduction to Goya usage 2|Introduction to Goya usage (part 2)]]
:''The second part of the tutorial, with a slightly more complex example than the first part.''


== Rapid Application Development ==
:''La segunda parte del tutorial, con un ejemplo ligeramente más complejo que el de la primera parte.''
 
== Otros lenguajes de programación ==


=== Python ===
=== Python ===
;[http://www.learningpython.com/2008/09/20/an-introduction-to-pyqt/ An Introduction to PyQt]
:''Starting off''
;[[Development/Languages/Python/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]]
:''Una simple aplicación de navegador WEB en PyKDE''


;[[Development/Tutorials/Python introduction to signals and slots|101 Introduction to signals and slots]]
;[[Development/Tutorials/Python introduction to signals and slots|101 Introduction to signals and slots]]
:''A simple introduction to Qt's signal and slot architecture.''
:''A simple introduction to Qt's signal and slot architecture.''


Line 298: Line 432:


;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum tutorial]
;[http://developer.kde.org/language-bindings/ruby/kde3tutorial/index.html KDE Ruby Korundum tutorial]
:''A ruby version of Antonio Larrosa Jiménez's KDE tutorial by Richard Dale. See the [http://developer.kde.org/language-bindings/ruby/index.html Ruby Developers Corner] for Qt tutorials and other info.''
:''A ruby version of Antonio Larrosa Jiménez's KDE tutorial by Richard Dale. See the [[Development/Languages/Ruby (es)|Ruby Developers Corner]] for Qt tutorials and other info.''


;[[Development/Tutorials/Qt4_Ruby_Tutorial|Qt4 Ruby Tutorial]]
;[[Development/Tutorials/Qt4_Ruby_Tutorial|Qt4 Ruby Tutorial]]
Line 304: Line 438:


;[[Development/Tutorials/Plasma/RubyApplet|Creating a Plasma Widget in Ruby]]
;[[Development/Tutorials/Plasma/RubyApplet|Creating a Plasma Widget in Ruby]]
:''Tutorial that shows how to create your first Plasma Applet using the Ruby language.''
:''Tutorial que muestra como crear tu primer Applet de Plasma utilizando el lenguaje Ruby.''
 
;[[Development/Tutorials/Developing_Qt4_Applications_using_Qt_Designer_and_Ruby_on_Kubuntu|Developing Qt4 Applications using Qt Designer and Ruby on Kubuntu]]
:''Tutorial that shows how to design a simple User Interface in Qt Designer and then use the resulting widget in a Qt Ruby application we build from scratch.''
 
;[[Development/Languages/Ruby/Ruby-Qt/KDE_Book|Ruby-Qt/KDE Book]]
:''There is also an approach to create an Ruby-Qt/KDE Book under a free license. The content will be created in this wiki.''


=== Shell ===
=== Shell ===


;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|Shell Scripting with KDE dialogs]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html Original Link])  
;[[Development/Tutorials/Shell_Scripting_with_KDE_Dialogs|Shell Scripting with KDE dialogs]] ([http://developer.kde.org/documentation/tutorials/kdialog/t1.html Enlace original])  
 
:''Tutorial by [mailto:[email protected] Brad Hards] that describes how to use KDE dialogs in shell scripts with kdialog. It is presented as an example based tutorial.''
:''Tutorial by [mailto:[email protected] Brad Hards] that describes how to use KDE dialogs in shell scripts with kdialog. It is presented as an example based tutorial.''


== Graphics Programming ==
== Programación gráfica ==


;[[Development/Tutorials/Graphics/Performance|QPainter Perfomance]]
;[[Development/Tutorials/Graphics/Performance|QPainter Perfomance]]
:''Hints on avoiding common mistakes leading to poor performance when using QPainter''


== Using the KDE Games Libraries ==
:''Sugerencias sobre como evitar errores habituales relacionados con bajos rendimientos en el uso de QPainter''
 
== Uso de las bibliotecas de KDE para juegos ==
 
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]
;[[Development/Tutorials/Games/KStandardGameAction| KStandardGameAction]]
:''Using libkdegames to make your game fit the kdegames standard''
:''Using libkdegames to make your game fit the kdegames standard''
;[[Development/Tutorials/Games/Highscores| Highscores]]
;[[Development/Tutorials/Games/Highscores| Highscores]]
:''Implementing a simple highscore table into your game''
:''Implementing a simple highscore table into your game''
;[[Development/Tutorials/Games/Theme Selector| Theme Selector]]
;[[Development/Tutorials/Games/Theme Selector| Theme Selector]]
:''Using the libkdegames theme selection dialog''
:''Using the libkdegames theme selection dialog''
;[[Development/Tutorials/Games/Palapeli Patterns| Palapeli Patterns]]
;[[Development/Tutorials/Games/Palapeli Patterns| Palapeli Patterns]]
:''Creating a pattern for Palapeli''
:''Creating a pattern for Palapeli''


== Other tutorials ==
=== KGLEngine ===
 
;[[Development/Tutorials/Games/kglengine/kglengine-simpleBox| installation and your first KGLItem]]
 
:''Comenzar tu primera aplicación kglengine''
 
;[[Development/Tutorials/Games/kglengine/kglengine-motion| item motion]]
 
:''Como mover kglitem''
 
;[[Development/Tutorials/Games/kglengine/kglengine-collision| collision detection]]
 
:''how to detect collision and interact ''
 
;[[Development/Tutorials/Games/kglengine/kglengine-texture| texture and color]]
 
:''aplicar texturas y colores a tus elementos''
 
;[[Development/Tutorials/Games/kglengine/kglengine-effects| particles and shadow effects]]


=== 2D Plotting (KPlotWidget) ===
:''añade algunos efectos agradables '';
 
[[Development/Tutorials/Games/KGLEngine2d| kglpong]]
 
:''Now use our knowledge to make a pong''
 
 
 
=== KALEngine ===
;[[Development/Tutorials/Games/KALEngine| Play hello word sound]]
:''Using KALEngine for games sound development using openAL''
;[[Development/Tutorials/Games/KALEngine-music| Play music]]
:''Using KALEngine to play music in a stream''
 
== Uso de las bibliotecas PIM de KDE ==
;[[Development/Tutorials/PIM/ical| iCalendar functionality]]
:''Using kcal to manage iCalendar files''
 
== Otros tutoriales ==
 
=== Dibujado de 2D (KPlotWidget) ===
;[[Development/Tutorials/KPlotWidget|Using the KDE data-plotting widget]]
;[[Development/Tutorials/KPlotWidget|Using the KDE data-plotting widget]]
:''This tutorial introduces KPlotWidget, which is used for 2-D data plotting.  It includes information on simple usage of the widget (including adding and modifying data sets, and customizing the plot axes and labels), and advanced customization (including extending the widget through sub-classing).''
:''This tutorial introduces KPlotWidget, which is used for 2-D data plotting.  It includes information on simple usage of the widget (including adding and modifying data sets, and customizing the plot axes and labels), and advanced customization (including extending the widget through sub-classing).''


=== Spelling and Grammar Checking (Sonnet) ===
=== Comprobación de ortografía y gramática (Sonnet) ===
;[[Development/Tutorials/Sonnet/SonnetTutorial|Adding spell-checking or grammar-checking to KDE applications]]
;[[Development/Tutorials/Sonnet/SonnetTutorial|Adding spell-checking or grammar-checking to KDE applications]]
:''This tutorial introduces Sonnet and how one may use it to add language correction to your KDE application. Sonnet's auxiliary features shall be described in a separate tutorial.''
:''This tutorial introduces Sonnet and how one may use it to add language correction to your KDE application. Sonnet's auxiliary features shall be described in a separate tutorial.''


=== Pixmap cache (KPixmapCache) ===
=== Cache Pixmap (KPixmapCache) ===
 
;[[Development/Tutorials/KPixmapCache|Using the KDE pixmap cache]]
;[[Development/Tutorials/KPixmapCache|Using the KDE pixmap cache]]
:''This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data.''
:''This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data.''


=== Using MarbleWidget (Marble) ===
=== Uso de  MarbleWidget (Marble) ===
 
;[[Development/Tutorials/MarbleWidget|Using MarbleWidget]]
;[[Development/Tutorials/MarbleWidget|Using MarbleWidget]]
:''This short tutorial describes how to use the MarbleWidget in your project''
:''This short tutorial describes how to use the MarbleWidget in your project''


=== Using local SCM for KDE development ===
=== Uso de SCM local para el desarrollo en KDE ===
;[[Development/Tutorials/Git|Using Git to develop for KDE]]
;[[Development/Git|Using Git to develop for KDE]]
:''This tutorial shows how to use Git to develop for KDE''
:''Here you find information on how to use Git to develop for KDE''
 
=== Implementación de un sensor para KSysGuard ===
 
;[[Development/Tutorials/Sensors]]
 
:''This tutorial shows how to write and KSysGuard sensor and connect it to the systray.''
 
Runners
 
== Material para KDE2 y KDE3 ==


== KDE2 and KDE3 Materials ==


;[[Development/Tutorials/KDE3|KDE3 Tutorials]]
;[[Development/Tutorials/KDE3|KDE3 Tutorials]]

Latest revision as of 09:42, 14 July 2012


Los tutoriales son la forma más rápida de encontrar lo que KDE puede hacer por usted y como hacerlo. Aquí tienes una lista de los tutoriales disponibles actualmente para KDE4. El material para KDE3 y KDE2 está disponible al final de la página.

Introducción a la programación en KDE4

¿Estás interesado en escribir aplicación en KDE4? Esta serie de tutoriales están dirigidos a personas totalmente novatas en la programación en KDE4.

Hola Mundo
Una introducción preliminar a los aspectos básicos de la programación en KDE4.
Crear la ventana principal
Este tutorial te muestra la magia de la cosa mas importante en una aplicación: la ventana principal
Usar KActions
Como añadir acciones a los menús y a las barras de herramientas (toolbars).
Guardar y Abrir
Introducción a la biblioteca KIO mientras añades soporte para guardar y abrir en tu aplicación.
Argumentos en la línea de órdenes
Añade la capacidad de especificar a nuestro editor que archivo abrir desde la línea de ordenes.
Administración de sesiones
Haz que tu aplicación sea consciente de las sesiones X

Básicos

Portar tu aplicación
Ayuda para portar aplicaciones de Qt3/KDE3 a Qt4/KDE4.
Introducción a CMake
Como usar el sistema de construcción CMake usado por KDE4.
Errores comunes de programación
Varios errores comunes que se presentan en el desarrollo de aplicaciones Qt y KDE y como evitarlos.
Usar Qt Designer para diseñar interfaces de usuario
Como crear archivos UI con el diseñador, y como integrarlos después en un programa KDE.
Crear bibliotecas para compartir código
Como añadir la biblioteca al sistema de construcción "buildsystem" y como preparar el código fuente.

Comprobación y depurado

Depurar tu aplicación
Consejos, herramientas y técnicas para depurar tu aplicación KDE.
Escribir "unittests" para Qt4 y KDE4 con QTestLib

(enlace original)

Tutorial de Brad Hards que describe como escribir unittests mediante la framework QTestLib. El tutorial se realiza con un ejemplo, y aun está en desarrollo.
Maneras semiautomáticas de detectar errores en el código
Técnicas que puedes usar para detectar errores en el código KDE.

Gestión de los datos de configuración con KConfig

Introducción a KConfig
Una sinopsis de las clases de KConfig y como usarlas en el código de tu aplicación.
Uso de KConfig XT
Tutorial sobre como usar eficientemente el framework KConfig XT
Actualizando archivos con KConfig
Tutorial sobre como escribir un script de actualización para conservar los cambios de tu archivo de configuración de tu aplicación y sincronizarlo con el archivo de configuración del usuario

Servicios: Aplicaciones y Plugins

Introducción al framework de Servicios
Una visión general del framework de Servicios en KDE y qué proporciona a los desarrolladores de aplicaciones. Trata sobre la cache de configuración del sistema (SyCoCa), los archivos de datos fuente y el uso que puede darse a la información indexada.
Encontrar Servicios usando consultas con operadores (Trader Queries)
Como encontrar servicios, como plugins o tipos MIME (mimetypes), que están indexados en SyCoCa, usando la sintaxis de preguntas con operadores (Trader Query Syntax).
Crear y cargar Plugins mediante KService
Aprende como definir plugins propios, encontrar plugins instalados (incluidos plugins de terceras partes) y cargarlos de forma fácil y portable usando KService.

Localización

Véase también el Portal de Localización.

Introducción a Unicode
Una introducción a Unicode, así como la forma de manejar datos Unicode en las aplicaciones de KDE.
Escribir aplicaciones teniendo en cuenta la Localización
Este tutorial trata sobre que es la localización, por que es importante y como asegurarse de que tu aplicación está lista para ser localizada. Una lectura obligatoria para todos los desarrolladores de aplicaciones.
Evitar errores comunes en la localización
Existen algunos errores comunes que impiden que las aplicaciones sean localizadas correctamente. Descubre cuales son y como evitarlos facilmente en este tutorial.
Construir el módulo de Localización de KDE
Construir e instalar el soporte de idiomas del módulo de localización de KDE (l10n) es una buena idea para aquellos que están trabajando en aplicaciones del repositorio principal de KDE. Si lo haces, te permitirá probar tu aplicación en otro idioma y tratar los posibles errores. Aprende como llevarlo a cabo en este tutorial.
Incorporar l18n a la construcción del sistema
Una vez que tu aplicación está lista para ser localizada, el siguiente paso es asegurarse que los archivos de traducción se construyen automáticamente y que estos estén actualizados. Este tutorial cubre los añadidos necesarios en CMakeLists.txt, así como el proceso de distribuir el catálogo de mensajes resultante junto a tu aplicación.
Retos comunes en i18n y soluciones
Este tutorial trata sobre cambios que se pueden introducir eventualmente en tareas tales como traducir manuales (handbooks) y otros datos que existen fuera del código fuente, fusionando , manejando ficheros .po obsoletos, tratando con freezes, codificando en idiomas distintos del Inglés y creando releases independientes de o moviendo aplicaciones entre módulos de KDE.
Marcado semántico de los mensajes
Para garantizar una presentación consistente y una representación más significativa de los mensajes en las aplicaciones, el marcado semántico puede aplicarse a los mensajes marcados para la traducción utilizando el sistema KUIT. Este tutorial describe como trabaja este sistema.
Comprobación automática de código i18n
El "Krazy code checker" comprueba el código e informa de los errores comunes de i18n.

Documentación

API Documentation
Este tutorial explica como documentar las APIs correctamente.
Man Pages
Escribiendo y Generando Páginas del Manual de Referencia.

Automatización de aplicaciones y Scripting

D-Bus

Introducción a D-Bus
Una introducción dirigida a comprender los conceptos relacionados con D-Bus desde una perspectiva del diseñador de aplicaciones, este tutorial trata sobre que es D-Bus y como puede ser utilizado por las aplicaciones.
Accediendo a los Interfaces de D-Bus
Una guia paso a paso sobre como llamar a métodos D-Bus y conectar con señales de D-Bus utilizando para ello QtDBus.
D-Bus Intermedio
Consejos para hacer uso de QtDBus cuando se enfrentan con interfaces problemáticos del mundo real.
Creando Interfaces D-Bus Interfaces
Aprender como añadir funcionalidad a tus aplicaciones creando y utilizando interfaces personalizados D-Bus. Cubre como se generan las descripciones XML, el instanciado de interfaces en tiempo de ejecución y estableciendo el sistema de construcción con CMake.
Servicios de autoinicio de D-Bus
Convierte tu aplicación en un servicio autoarrancable D-Bus con este tutorial. Esta característica de D-Bus, también conocida como "activación de servicio D-Bus", asegurará que las llamadas realizadas a D-Bus funcionarán confiando en el propio demonio (daemon) que la pondrá en marcha si tu aplicación no está arrancada en ese momento.
Portando desde DCOP a D-Bus
Porta tus aplicaciones desde DCOP a D-Bus con esta sencilla guía.

Konqueror

Creating Konqueror Service Menus
Este tutorial muestra como crear acciones especificas tipo MIME en el contexto de menús de Konqueror (aka "servicemenus").

Kross

Introduction to Kross
An introduction to the Kross Scripting Framework.
Hello World
A first application with working kross code.
Calling Functions in Kross
Demostración simple de llamada a funciones de scripting
Connecting Signals and Slots in Kross
Simple demonstration of connecting object signals with script slots
Scripts as Plugins with Kross
This tutorial provides a step-by-step introduction how to integrate scripts as plugins into a KDE application.
Load Kross Scripts as KPlugins
This tutorial provides a step-by-step introduction how to load scripts as KPlugins.
Placing script actions in your application menus
Simple demonstration on how to extend you application menus to execute script files.

Plugins para KOffice

KOffice Overview
This document shows an overview of the different KOffice plugin types and tells you what each of their purpose and strengths are. Si eres nuevo en el tema de plugins de KOffice, este es el lugar correcto para comenzar el aprendizaje.
Creating KOffice Flake Plugins
This tutorial shows you how you can build a plugin for KOffice applications to allow you embed content in ODF documents using Flake.
KWord Scripting
This tutorial shows how to script KWord with Python, Ruby or JavaScript using Kross.
KSpread Scripting
This tutorial shows how to script KSpread with Python, Ruby or JavaScript using Kross.
Krita Scripting
This tutorial shows how to script Krita with Python, Ruby or JavaScript using Kross.

SuperKaramba

SuperKaramba Tutorial
This tutorial provides an overview of SuperKaramba, theme files and scripting with Python, Ruby and JavaScript.

Plugins y KParts

Writing kontact plugins

Kontact plugins are KParts. This tutorial describes how you can write one.

Using KParts

Learn how to load a KPart into an application window.

Búsqueda y Metadatos

Strigi

Writing file analyzers
File analyzers extract data from files to display in the file dialogs and file managers. The data gathered this way is also used to search for files. KDE4 allows the use of multiple analyzers per file type. This tutorial describes how you can write new analyzers.

Nepomuk

Nepomuk Quickstart
How to use Nepomuk resources in a quick and painless way without much fuss.
RDF and Ontologies in Nepomuk
An introduction to RDF and the usage of ontologies in Nepomuk.
Handling Resources with Nepomuk
Nepomuk is the KDE library which provides easy access to metadata in the Nepomuk system. Learn how to make your application create and read metadata using the Nepomuk system.
Using the Nepomuk Resource Generator
Nepomuk includes a resource generator which creates convenience classes for handling metadata.
Advanced Queries
The real power of Nepomuk can only be exposed when performing fancy queries on the data repository. This tutorial provides an introduction to semantic and full text queries in Nepomuk.
The Nepomuk Server and the Architecture of the Nepomuk subsystem
The Nepomuk Server hosts the main Nepomuk data repository and can be accessed directly via a Soprano API.
Nepomuk Services
The Nepomuk Server manages a set of Nepomuk services.
  • Ontology Loader Makes sure installed ontologies such as RDF, RDFS, NRL, or Xesam are loaded into the storage repository.
  • File Watch Service Monitors the file system for changes and updates the file resource paths and URIs in Nepomuk.

Controls Strigi, the file indexing tool which extracts metadata from files and stores it into the storage repository.

Conciencia del Hardware (Solid)

Introduction to Solid
Una introducción sobre como usar el robusto sistema para descubrir hardware e interactuar con el sistema en aplicaciones KDE.
Accessing Network Information
Como utilizar el robusto sistema de KDE para obtener información sobre la red (network)

Aplicaciones con privilegios (PolicyKit)

Introduction to PolicyKit
A straight-forward introduction to what PolicyKit is, and how it can be useful for your next application requiring super-user privileges or user authentication
Using the caller-helper model to perform actions as root
This tutorial will teach you how to get your application to perform some actions as root in a completely safe and easy manner, if the user is authorized to, by using PolicyKit and the caller-helper technique
Getting root privileges in KCM Modules
This tutorial will teach you how to create KCModules able to save settings as root

Multimedia (Phonon)

Phonon
Como iniciarse en la API multimedia
How to compile and use Phonon and its GStreamer backend on Linux using Qt 4.3.x
This article gives you a quick brief of how you can use checkout, compile Phonon and its GStreamer backend on GNU/Linux with just Qt 4.3.x. Towards the end, the article also describes how a developer can make use of Phonon to create simple audio and video players. You can read the article here. You can download the editable OpenDocumentText file from here.

Plasma

Ir a Development/Tutorials/Plasma_(es) para tutoriales sobre Plasma.

Comunicación (Decibel)

Getting started with Decibel
Este tutorial describe como configurar Decibel.
Handling TextChannels
This tutorial introduces the basics of handling incoming TextChannels by guiding you through building a simple text chat application.

Administración de información personal (Akonadi)

Using Akonadi in Applications
Mostrando y modificando datos aportados por Akonadi
Developing Akonadi Resources
Akonadi Resources are agent programs which transport PIM data between Akonadi and a backend (files, servers, etc)
Using custom data types with Akonadi
Akonadi can handle arbitrary data as item payloads through the use of a plugin based serialization framework

Kate / Kwrite

Getting started with KTextEditor plugins
Creando tu primer plugin de KTextEditor
Developing a plugin with configuration dialog
Añadiendo un diálogo de configuración al ejemplo de hora y fecha (Time & Date)
A small Editor
Crear una pequeña aplicación utilizando KTextEditor

Impresión

Hello World
Introducción al sistema de impresión de KDE
Print Dialog
Utilizando el diálogo de impresión de KDE

kioslaves

Obtener nuevas características (Hot New Stuff)

New introduction to Get Hot New Stuff 2
A short tutorial about how to use KHotNewStuff2 in your application.
  • old links for KNS1 content:
Introduction to Get Hot New Stuff
An introduction to the developer-friendly network update system that allows KDE applications to fetch new application data at runtime in a user friendly manner.
KNewStuff Secure

(Original Link)

Tutorial showing how to share resources in a secured way (KDE 3.4 and later). By András Mantia <[email protected]>.

Goya

Introduction to Goya usage
An introduction for the Goya subsystem usage, which allows you to easily add widgets to your itemviews and connect their signals to your code, as they were real widgets.
Introduction to Goya usage (part 2)
La segunda parte del tutorial, con un ejemplo ligeramente más complejo que el de la primera parte.

Otros lenguajes de programación

Python

An Introduction to PyQt
Starting off
PyKDE WebKit Tutorial
Una simple aplicación de navegador WEB en PyKDE
101 Introduction to signals and slots
A simple introduction to Qt's signal and slot architecture.

Ruby

KDE Ruby Korundum tutorial
A ruby version of Antonio Larrosa Jiménez's KDE tutorial by Richard Dale. See the Ruby Developers Corner for Qt tutorials and other info.
Qt4 Ruby Tutorial
Trolltech's fabulous introductory tutorial to Qt, translated to Ruby.
Creating a Plasma Widget in Ruby
Tutorial que muestra como crear tu primer Applet de Plasma utilizando el lenguaje Ruby.
Developing Qt4 Applications using Qt Designer and Ruby on Kubuntu
Tutorial that shows how to design a simple User Interface in Qt Designer and then use the resulting widget in a Qt Ruby application we build from scratch.
Ruby-Qt/KDE Book
There is also an approach to create an Ruby-Qt/KDE Book under a free license. The content will be created in this wiki.

Shell

Shell Scripting with KDE dialogs (Enlace original)
Tutorial by Brad Hards that describes how to use KDE dialogs in shell scripts with kdialog. It is presented as an example based tutorial.

Programación gráfica

QPainter Perfomance
Sugerencias sobre como evitar errores habituales relacionados con bajos rendimientos en el uso de QPainter

Uso de las bibliotecas de KDE para juegos

KStandardGameAction
Using libkdegames to make your game fit the kdegames standard
Highscores
Implementing a simple highscore table into your game
Theme Selector
Using the libkdegames theme selection dialog
Palapeli Patterns
Creating a pattern for Palapeli

KGLEngine

installation and your first KGLItem
Comenzar tu primera aplicación kglengine
item motion
Como mover kglitem
collision detection
how to detect collision and interact
texture and color
aplicar texturas y colores a tus elementos
particles and shadow effects
añade algunos efectos agradables ;

kglpong

Now use our knowledge to make a pong


KALEngine

Play hello word sound
Using KALEngine for games sound development using openAL
Play music
Using KALEngine to play music in a stream

Uso de las bibliotecas PIM de KDE

iCalendar functionality
Using kcal to manage iCalendar files

Otros tutoriales

Dibujado de 2D (KPlotWidget)

Using the KDE data-plotting widget
This tutorial introduces KPlotWidget, which is used for 2-D data plotting. It includes information on simple usage of the widget (including adding and modifying data sets, and customizing the plot axes and labels), and advanced customization (including extending the widget through sub-classing).

Comprobación de ortografía y gramática (Sonnet)

Adding spell-checking or grammar-checking to KDE applications
This tutorial introduces Sonnet and how one may use it to add language correction to your KDE application. Sonnet's auxiliary features shall be described in a separate tutorial.

Cache Pixmap (KPixmapCache)

Using the KDE pixmap cache
This tutorial shows how to use KPixmapCache to cache e.g. pixmaps generated from SVGs or some data.

Uso de MarbleWidget (Marble)

Using MarbleWidget
This short tutorial describes how to use the MarbleWidget in your project

Uso de SCM local para el desarrollo en KDE

Using Git to develop for KDE
Here you find information on how to use Git to develop for KDE

Implementación de un sensor para KSysGuard

Development/Tutorials/Sensors
This tutorial shows how to write and KSysGuard sensor and connect it to the systray.

Runners

Material para KDE2 y KDE3

KDE3 Tutorials
These tutorials cover topics related to KDE3.
KDE2 Tutorials
These tutorials cover topics related to KDE2.