Development/Architecture/KDE4/Providing Online Help (es): Difference between revisions

From KDE TechBase
(update translation (es))
m (Text replace - "<code cppqt3>" to "<syntaxhighlight lang="cpp-qt">")
Line 16: Line 16:


Desde el punto de vista del programador, Qt proporciona una forma fácil de usar la API para la ayuda online. Para asignar un tooltip a un widget, simplemente usa el método setToolTip():
Desde el punto de vista del programador, Qt proporciona una forma fácil de usar la API para la ayuda online. Para asignar un tooltip a un widget, simplemente usa el método setToolTip():
<code cppqt3>
<syntaxhighlight lang="cpp-qt">
widget->setToolTip(i18n("Este widget hace algo."))
widget->setToolTip(i18n("Este widget hace algo."))
</code>
</code>
Line 22: Line 22:
Si la barra de menú y la barra de herramientas han sido creadas usando [[../Action Pattern|action pattern]], la cadena usada como tooltip se hereda del primer argumento del constructor [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction]:
Si la barra de menú y la barra de herramientas han sido creadas usando [[../Action Pattern|action pattern]], la cadena usada como tooltip se hereda del primer argumento del constructor [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction]:


<code cppqt3>
<syntaxhighlight lang="cpp-qt">
action = new KAction(i18n("&Delete"), "editdelete",
action = new KAction(i18n("&Delete"), "editdelete",
                     SHIFT+Key_Delete, actionCollection(), "del")
                     SHIFT+Key_Delete, actionCollection(), "del")
Line 29: Line 29:
Aquí también es posible asignar un texto que es mostrado en la barra de estado cuando el respectivo ítem del menú es "highlighted":
Aquí también es posible asignar un texto que es mostrado en la barra de estado cuando el respectivo ítem del menú es "highlighted":


<code cppqt3>
<syntaxhighlight lang="cpp-qt">
action->setStatusText(i18n("Borrar el fichero seleccionado"))
action->setStatusText(i18n("Borrar el fichero seleccionado"))
</code>
</code>
Line 35: Line 35:
La Api para la ayuda "¿Qué es esto?" es muy similar. En los diálogos, usa el siguiente código:
La Api para la ayuda "¿Qué es esto?" es muy similar. En los diálogos, usa el siguiente código:


<code cppqt3>
<syntaxhighlight lang="cpp-qt">
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s"
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s"
                         " rich text engine.<ul>"
                         " rich text engine.<ul>"
Line 45: Line 45:


Para los ítems del menú, usa:
Para los ítems del menú, usa:
<code cppqt3>
<syntaxhighlight lang="cpp-qt">
action->setWhatsThis(i18n("Borrar el fichero seleccionado"))
action->setWhatsThis(i18n("Borrar el fichero seleccionado"))
</code>
</code>


La invocación de khelpcenter esta encapsulada en la clase [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation]. Para mostrar el manual de tu aplicación, usa simplemente el método estático:
La invocación de khelpcenter esta encapsulada en la clase [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation]. Para mostrar el manual de tu aplicación, usa simplemente el método estático:
<code cppqt3>
<syntaxhighlight lang="cpp-qt">
KToolInvocation::invokeHelp()
KToolInvocation::invokeHelp()
</code>
</code>

Revision as of 20:35, 29 June 2011


Development/Architecture/KDE4/Providing Online Help


Arquitectura de KDE - Suministro de ayuda online

La construcción de un programa fácil e intuitivo de usar implica un amplio rango de facilidades que por lo general se llama ayuda online. La ayuda online persigue varios objetivos parcialmente contradictorios: por un lado, debería dar respuesta a la pregunta del usuario "¿Como puedo realizar una cierta tarea?", pero por el otro lado debería ayudar al usuario que explora la aplicación y se encuentra con características que aun desconoce. Es importante reconocer que esta situación sólo puede ser tratada ofreciendo varios niveles de ayuda:

  • Los tooltips son las pequeñas etiquetas que aparecen sobre los elementos de la interfaz de usuario cuando el ratón permanece sobre estos durante un periodo de tiempo largo. Son especialmente importantes en las "toolbars", donde los iconos no siempre son suficientes para explicar el cometido de un botón.
  • La ayuda "¿Qué ese esto?" normalmente es una extensa explicación de un widget o de un ítem de un menú. También es mas patosa de usar: el los diálogos, puede ser invocada de dos maneras: presionando Shift+F1 o pulsando sobre el signo de interrogación en la barra de título (donde el soporte de este depende del administrador de ventanas). Entonces el puntero del ratón se convierte en una flecha con un signo de interrogación, y cuando se hace clic sobre un elemento de la interfaz de usuario aparece la ventana de ayuda. La ayuda "¿Que es esto?" de los ítems del menú se activa normalmente mediante un botón en la "toolbar", que contiene una flecha y un signo de interrogación.
    El problema de este método es que el usuario no puede saber si un widget proporciona ayuda o no. Cuando el usuario activa el botón de signo de interrogación y pulsa sobre un elemento de la interfaz de usuario y no obtiene ayuda, se frustrará rápidamente.

    La ventaja de la ayuda "¿Qué es esto?" proporcionada por Qt y KDE es que puede contener texto enriquecido, es decir, puede contener diferentes tipos de letra, texto cursiva y negrita e incluso imágenes y tablas.


Captura de pantalla ¿Qué es esto?


  • Finalmente, cada programa debería tener un manual. Normalmente se consulta un manual en khelpcenter, activando el menú de ayuda. Esto significa cargar una nueva aplicación y desviar la atención del usuario. Por tanto, la consulta del manual solo debería ser necesaria si las otras facilidades como los tooltips o la ayuda "¿Qué es esto?" no son suficientes. Por supuesto, un manual tiene la ventaja de que no explica un aspecto aislado de la interfaz de usuario, sino que explica aspectos de la aplicación en un contexto mas amplio. Los manuales de KDE están escritos usando el lenguaje de etiquetado DocBook.

Desde el punto de vista del programador, Qt proporciona una forma fácil de usar la API para la ayuda online. Para asignar un tooltip a un widget, simplemente usa el método setToolTip(): <syntaxhighlight lang="cpp-qt"> widget->setToolTip(i18n("Este widget hace algo."))

Si la barra de menú y la barra de herramientas han sido creadas usando action pattern, la cadena usada como tooltip se hereda del primer argumento del constructor KAction:

<syntaxhighlight lang="cpp-qt"> action = new KAction(i18n("&Delete"), "editdelete",

                    SHIFT+Key_Delete, actionCollection(), "del")

Aquí también es posible asignar un texto que es mostrado en la barra de estado cuando el respectivo ítem del menú es "highlighted":

<syntaxhighlight lang="cpp-qt"> action->setStatusText(i18n("Borrar el fichero seleccionado"))

La Api para la ayuda "¿Qué es esto?" es muy similar. En los diálogos, usa el siguiente código:

<syntaxhighlight lang="cpp-qt"> widget->setWhatsThis(i18n("<qt>This demonstrates Qt's"

" rich text engine.

    " "
  • Foo
  • " "
  • Bar
  • " "

</qt>"))


Para los ítems del menú, usa: <syntaxhighlight lang="cpp-qt"> action->setWhatsThis(i18n("Borrar el fichero seleccionado"))

La invocación de khelpcenter esta encapsulada en la clase KToolInvocation. Para mostrar el manual de tu aplicación, usa simplemente el método estático: <syntaxhighlight lang="cpp-qt"> KToolInvocation::invokeHelp()

Este código muestra la primera página con la tabla de contenidos. Cuando quieras mostrar solo una sección del manual, puedes invocar a invokeHelp() con un argumento adicional que determina la sección a saltar.

Initial Author: Bernd Gehrmann