Development/Tutorials (es): Difference between revisions

    From KDE TechBase
    (translation to spanish (update))
    No edit summary
     
    (10 intermediate revisions by 5 users not shown)
    Line 1: Line 1:
    {{Template:I18n/Language Navigation Bar|Development/Tutorials}}


    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|Administración de sesiones]]
    ;[[Development/Tutorials/Session_Management_(es)|Administración de sesiones]]
     
    :''Haz que tu aplicación sea consciente de las sesiones X''
    :''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 54: 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 102: 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.''
     
    :''Escribiendo y Generando Páginas del Manual de Referencia.''


    == Automatización de aplicaciones y Scripting ==
    == 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.''


    === Plugins para 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 y 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]]:
     
    ''Kontact plugins are KParts. This tutorial describes how you can write one.''


    ; [[Development/Tutorials/Using KParts|Using KParts]]:''Learn how to load a KPart into an application window.''
    ; [[Development/Tutorials/Using KParts|Using KParts]]:
     
    ''Learn how to load a KPart into an application window.''


    == Búsqueda y Metadatos ==
    == Búsqueda y Metadatos ==
    Line 180: Line 249:


    ; [[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 185: 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/AdvancedQueries|Advanced Queries]]
    ; [[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.''
    :''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]]
    ; [[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/StorageService|Storage Service]] ''The probably most important service hosts the Nepomuk data repository using [http://soprano.sourceforge.net Soprano].''
    :* [[Development/Tutorials/Metadata/Nepomuk/StorageService|Storage Service]] ''The probably most important service hosts the Nepomuk data repository using [http://soprano.sourceforge.net Soprano].''
    :* [[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/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/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/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.''
    :* [[Development/Tutorials/Metadata/Nepomuk/QueryService|Query Service]] ''Provides persistant query folders.''


    Line 213: Line 296:


    ;[[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) ==
    == Aplicaciones con privilegios (PolicyKit) ==
    ; [[Development/Tutorials/PolicyKit/Introduction|Introduction to 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''
    :''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]]
    ; [[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''
    :''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]]
    ; [[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''
    :''This tutorial will teach you how to create KCModules able to save settings as root''


    Line 229: Line 320:


    ;[[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 ==


    See [[Development/Tutorials/Plasma_(es)]] for Plasma tutorials.
    Ir a [[Development/Tutorials/Plasma_(es)]] para tutoriales sobre Plasma.


    == Comunicación (Decibel) ==
    == Comunicación (Decibel) ==


    ;[[Development/Tutorials/Decibel/GettingStarted|Getting started with Decibel]]
    ;[[Development/Tutorials/Decibel/GettingStarted|Getting started with Decibel]]
    :''This tutorial describes how to set up Decibel.''
     
    :''Este tutorial describe como configurar Decibel.''


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


    Line 249: Line 344:


    ;[[Development/Tutorials/Akonadi/Application|Using Akonadi in Applications]]
    ;[[Development/Tutorials/Akonadi/Application|Using Akonadi in Applications]]
    :''Displaying and modifying data provided by Akonadi''
     
    :''Mostrando y modificando datos aportados por 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]]
    ;[[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''
    :''Akonadi can handle arbitrary data as item payloads through the use of a plugin based serialization framework''


    Line 260: Line 358:


    ;[[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''
     
    :''Crear una pequeña aplicación utilizando KTextEditor''


    == Impresión ==
    == 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''
     
    :''Utilizando el diálogo de impresión de KDE''


    == kioslaves ==
    == kioslaves ==
    * [[Development/Tutorials/KIO Slaves/Using KIO Slaves in your Program|Using kioslaves in your Program]]
    * [[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]]
    * [[Development/Tutorials/KIO Slaves/Hello World|Creating a Hello-World kioslave]]


    == Obtener nuevas características (Hot New Stuff) ==
    == Obtener nuevas características (Hot New Stuff) ==
    ; [[Development/Tutorials/K_Hot_New_Stuff2|New introduction to Get Hot New Stuff 2]]
    ; [[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.''
     
    :''La segunda parte del tutorial, con un ejemplo ligeramente más complejo que el de la primera parte.''


    == Otros lenguajes de programación ==
    == Otros lenguajes de programación ==
    Line 303: Line 418:


    ;[http://www.learningpython.com/2008/09/20/an-introduction-to-pyqt/ An Introduction to PyQt]
    ;[http://www.learningpython.com/2008/09/20/an-introduction-to-pyqt/ An Introduction to PyQt]
    :''Starting off''
    :''Starting off''


    ;[[Development/Languages/Python/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]]
    ;[[Development/Languages/Python/PyKDE_WebKit_Tutorial|PyKDE WebKit Tutorial]]
    :''A simple web browser application in PyKDE''
     
    :''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 314: 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 320: 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.''


    Line 330: Line 455:


    ;[[Development/Tutorials/Graphics/Performance|QPainter Perfomance]]
    ;[[Development/Tutorials/Graphics/Performance|QPainter Perfomance]]
    :''Hints on avoiding common mistakes leading to poor performance when using QPainter''
     
    :''Sugerencias sobre como evitar errores habituales relacionados con bajos rendimientos en el uso de QPainter''


    == Uso de las bibliotecas de KDE para juegos ==
    == 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''
    === KGLEngine ===
    === KGLEngine ===
    ;[[Development/Tutorials/Games/kglengine/kglengine-simpleBox| installation and your first KGLItem]]
    ;[[Development/Tutorials/Games/kglengine/kglengine-simpleBox| installation and your first KGLItem]]
    :''start your first kglengine application''
     
    :''Comenzar tu primera aplicación kglengine''
     
    ;[[Development/Tutorials/Games/kglengine/kglengine-motion| item motion]]
    ;[[Development/Tutorials/Games/kglengine/kglengine-motion| item motion]]
    :''how to move kglitem''
     
    :''Como mover kglitem''
     
    ;[[Development/Tutorials/Games/kglengine/kglengine-collision| collision detection]]
    ;[[Development/Tutorials/Games/kglengine/kglengine-collision| collision detection]]
    :''how to detect collision and interact ''
    :''how to detect collision and interact ''
    ;[[Development/Tutorials/Games/kglengine/kglengine-texture| texture and color]]
    ;[[Development/Tutorials/Games/kglengine/kglengine-texture| texture and color]]
    :''apply texture and color for your items ''
     
    :''aplicar texturas y colores a tus elementos''
     
    ;[[Development/Tutorials/Games/kglengine/kglengine-effects| particles and shadow effects]]
    ;[[Development/Tutorials/Games/kglengine/kglengine-effects| particles and shadow effects]]
    :''add some nice effects ''
     
    ;[[Development/Tutorials/Games/KGLEngine2d| kglpong]]
    :''añade algunos efectos agradables '';
     
    [[Development/Tutorials/Games/KGLEngine2d| kglpong]]
     
    :''Now use our knowledge to make a pong''
    :''Now use our knowledge to make a pong''


    Line 378: Line 525:


    === Cache Pixmap (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.''


    === Uso de  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''


    === Uso de SCM local para el desarrollo en KDE ===
    === 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 ===
    === Implementación de un sensor para KSysGuard ===
    ;[[Development/Tutorials/Sensors]]
    ;[[Development/Tutorials/Sensors]]
    :''This tutorial shows how to write and KSysGuard sensor and connect it to the systray.''
    :''This tutorial shows how to write and KSysGuard sensor and connect it to the systray.''
    Runners
    Runners
    == Material para KDE2 y KDE3 ==
    == Material para KDE2 y KDE3 ==


    ;[[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.