summaryrefslogtreecommitdiffstats
path: root/tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook')
-rw-r--r--tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook46
1 files changed, 23 insertions, 23 deletions
diff --git a/tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook b/tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook
index 124afaa8a5c..91b367ef68f 100644
--- a/tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook
+++ b/tde-i18n-es/docs/tdevelop/kde_app_devel/index.docbook
@@ -160,15 +160,15 @@ return a.exec();
</orderedlist>
</para>
<para>El segundo objeto de nuestro programa es el botón pulsable, una instancia de la clase <classname>QPushButton</classname>. Hemos usado el segundo de los dos constructores que se nos ofrecen para crear una instancia de este objeto. Este constructor acepta como parámetro un texto, que será la etiqueta que mostrará el botón (aquí es la cadena «¡Hola mundo!»). Luego hemos llamado al método <methodname>resize()</methodname> para cambiar el tamaño del botón en relación a su contenido (el botón debe ser más ancho para que la cadena aparezca completamente). </para>
-<para>Pero, ¿qué hay del método <methodname>show()</methodname>? Ahora veremos que, al igual que la mayor parte de de widgetds, <classname>QPushButton</classname> se basa en la herencia simple. La documentación dice que esta clase hereda de <classname>QButton</classname>. Siga el enlace de la clase <classname>QButton</classname> y verá más widgets que han sido heredados por <classname>QPushButton</classname> (y que usaremos más adelante para explicar el mecanismo señal/slot). No obstante, el método <methodname>show()</methodname> no aparece listado, por lo que también tiene que haber sido proporcionado mediante herencia. La clase de la que hereda <classname>QButton</classname> es <classname>QWidget</classname>. Vuelva a seguir el enlace y verá el gran número de métodos que proporciona <classname>QWidget</classname>, incluido el método <methodname>show()</methodname>. Ahora entendemos lo que se ha hecho con el botón en el ejemplo: <orderedlist>
+<para>Pero, ¿qué hay del método <methodname>show()</methodname>? Ahora veremos que, al igual que la mayor parte de de widgetds, <classname>QPushButton</classname> se basa en la herencia simple. La documentación dice que esta clase hereda de <classname>QButton</classname>. Siga el enlace de la clase <classname>QButton</classname> y verá más widgets que han sido heredados por <classname>QPushButton</classname> (y que usaremos más adelante para explicar el mecanismo señal/slot). No obstante, el método <methodname>show()</methodname> no aparece listado, por lo que también tiene que haber sido proporcionado mediante herencia. La clase de la que hereda <classname>QButton</classname> es <classname>TQWidget</classname>. Vuelva a seguir el enlace y verá el gran número de métodos que proporciona <classname>TQWidget</classname>, incluido el método <methodname>show()</methodname>. Ahora entendemos lo que se ha hecho con el botón en el ejemplo: <orderedlist>
<listitem><para>Crear una instancia de <classname>QPushButton</classname>, usar el segundo constructor para establecer el texto del botón</para></listitem>
<listitem><para>Modificar el tamaño del widget según su contenido</para></listitem>
<listitem><para>Establecer el widget como widget principal de la instancia «a» de <classname>QApplication</classname></para></listitem>
-<listitem><para>Indicarle al widget que se muestre a sí mismo en la pantalla llamando a <methodname>show()</methodname>, un método heredado de <classname>QWidget</classname></para></listitem>
+<listitem><para>Indicarle al widget que se muestre a sí mismo en la pantalla llamando a <methodname>show()</methodname>, un método heredado de <classname>TQWidget</classname></para></listitem>
</orderedlist>
</para>
<para>Tras llamar al método <methodname>exec()</methodname> la aplicación se hace visible al usuario, mostrando una ventana con el botón, que muestra el texto «¡Hola mundo!». Tenga en cuenta que los programas gráficos se comportan de un modo algo distinto al de las aplicaciones basadas en procedimientos. El punto principal es que aquí la aplicación entra en lo que se denomina un «bucle principal de eventos». Esto significa que el programa debe esperar las acciones del usuario y luego reaccionar a ellas. Además, para una aplicación Qt, el programa tiene que estar en el bucle principal de eventos para comenzar a manejar los eventos. La siguiente sección le enseñará brevemente lo que significa esto para el programador y qué ofrece Qt para procesar los eventos del usuario. </para>
-<note><para>Para los usuarios avanzados: El botón no tiene un padre declarado en el constructor, por lo que es un widget aislado de nivel superior que se ejecuta en un bucle de eventos locales que no necesita esperar al bucle de eventos principal. Consulte la documentación de la clase QWidget y la «Guía de referencia de la biblioteca KDE».</para>
+<note><para>Para los usuarios avanzados: El botón no tiene un padre declarado en el constructor, por lo que es un widget aislado de nivel superior que se ejecuta en un bucle de eventos locales que no necesita esperar al bucle de eventos principal. Consulte la documentación de la clase TQWidget y la «Guía de referencia de la biblioteca KDE».</para>
</note>
</sect3>
@@ -183,7 +183,7 @@ return a.exec();
</itemizedlist>
</para>
<para>Ahora le daremos «vida» a la aplicación procesando los eventos del usuario. Generalmente, el usuario tiene dos formas de interactuar con un programa: el ratón y el teclado. Para ambas, una interfaz gráfica de usuario debe proporcionar métodos que detecten acciones y métodos que hagan algo como respuesta a estas acciones. </para>
-<para>Para ello, el sistema de ventanas envía todos los eventos de interacción a la aplicación correspondiente. El objeto <classname>QApplication</classname> los envía luego a la ventana activa como objetos <classname>QEvent</classname>, y los widgets deben decidir por sí mismos qué hacer con ellos. Cuando un widget recibe el evento, procesa el método <methodname>QWidget::event(QEvent*)</methodname>, que se encarga de decidir qué evento ha sido ejecutado y cómo reaccionar a él. Por lo tanto, <methodname>event()</methodname> es el manejador principal de eventos. A continuación, el método <methodname>event()</methodname> pasa el evento a los llamados «filtros de eventos» para determinar qué ha ocurrido y qué se debe hacer con el evento. Si no existe ningún filtro que se haga responsable para dicho evento, se llama a los manejadores de eventos especializados. Mediante ellos podemos decidir entre: <itemizedlist>
+<para>Para ello, el sistema de ventanas envía todos los eventos de interacción a la aplicación correspondiente. El objeto <classname>QApplication</classname> los envía luego a la ventana activa como objetos <classname>QEvent</classname>, y los widgets deben decidir por sí mismos qué hacer con ellos. Cuando un widget recibe el evento, procesa el método <methodname>TQWidget::event(QEvent*)</methodname>, que se encarga de decidir qué evento ha sido ejecutado y cómo reaccionar a él. Por lo tanto, <methodname>event()</methodname> es el manejador principal de eventos. A continuación, el método <methodname>event()</methodname> pasa el evento a los llamados «filtros de eventos» para determinar qué ha ocurrido y qué se debe hacer con el evento. Si no existe ningún filtro que se haga responsable para dicho evento, se llama a los manejadores de eventos especializados. Mediante ellos podemos decidir entre: <itemizedlist>
<listitem><para>Eventos del teclado -- Teclas «Tabulador» y «Mayúsculas-Tabulador»:</para>
<itemizedlist>
<listitem><para><methodname>virtual void focusInEvent(QFocusEvent *)</methodname></para></listitem>
@@ -224,12 +224,12 @@ return a.exec();
</itemizedlist>
</para>
-<para>Note que todas las funciones de eventos son virtuales y protegidas, por lo que puede reimplementar los métodos encargados de manejar eventos que necesite en sus propios widgets y especificar cómo deben reaccionar. <classname>QWidget</classname> también contiene varios métodos virtuales más que pueden resultar de utilidad en sus programas. De ahí que sea recomendable conocer bien la clase <classname>QWidget</classname>. </para>
+<para>Note que todas las funciones de eventos son virtuales y protegidas, por lo que puede reimplementar los métodos encargados de manejar eventos que necesite en sus propios widgets y especificar cómo deben reaccionar. <classname>TQWidget</classname> también contiene varios métodos virtuales más que pueden resultar de utilidad en sus programas. De ahí que sea recomendable conocer bien la clase <classname>TQWidget</classname>. </para>
</sect2>
<sect2 id="c1s2s4">
<title>Interacción entre objetos mediantes señales y slots</title>
<para>Estamos llegando a una de las ventajas más obvias del juego de herramientas Qt: el mecanismo señal/objeto, que ofrece una solución útil y provechosa para la interacción de objetos (que normalmente se resuelve mediante funciones «callback» de las herramientas del sistema X-Window). Como esta comunicación requiere una programación estricta y a menudo dificulta la creación de interfaces de usuario (como se dice en la documentación de Qt y se explica en «Programando con Qt», de K. Dalheimer), Trolltech creó un nuevo sistema en el que los objetos pueden emitir señales que se pueden conectar a métodos declarados como «slots». Desde el punto de vista del programador de C++, solo es necesario saber ciertas cosas sobre este mecanismo: <itemizedlist>
-<listitem><para>la declaración de una clase que use señales y slots debe contener la macro Q_OBJECT al principio (sin punto y coma); también debe derivar de la clase <classname>QObject</classname> </para></listitem>
+<listitem><para>la declaración de una clase que use señales y slots debe contener la macro TQ_OBJECT al principio (sin punto y coma); también debe derivar de la clase <classname>TQObject</classname> </para></listitem>
<listitem><para>se puede emitir una señal mediante la palabra clave «emit»; por ejemplo, «emit señal(parámetros);», desde dentro de cualquier función miembro de una clase que permita señales y slots </para></listitem>
<listitem><para>todas las señales usadas por las clases que no sean heredadas deben ser añadidas a la declaración de la clase mediante una sección «signals» </para></listitem>
@@ -237,9 +237,9 @@ return a.exec();
<listitem><para>el compilador de metaobjetos «moc» debe ejecutarse con el archivo de cabecera para expandir las macros y generar la implementación (que no es necesario conocer). Los archivos de salida de «moc» también son compilados por el compilador de C++. </para></listitem>
</itemizedlist>
</para>
-<para>Otra forma de usar señales sin derivar de <classname>QObject</classname> consiste en usar la clase <classname>QSignal</classname> (consulte la documentación de referencia para obtener más información y un ejemplo de uso). En lo sucesivo asumiremos que está derivando de <classname>QObject</classname>. </para>
+<para>Otra forma de usar señales sin derivar de <classname>TQObject</classname> consiste en usar la clase <classname>QSignal</classname> (consulte la documentación de referencia para obtener más información y un ejemplo de uso). En lo sucesivo asumiremos que está derivando de <classname>TQObject</classname>. </para>
<para>De este modo, su clase será capaz de enviar señales a cualquier otro sitio y de proporcionar «slots» a los que se puedan conectar señales. Gracias al uso de estas señales no tendrá que preocuparse de quién va a recibirlas: solo tiene que emitir la señal, y cualquier «slot» al que quiera conectarla reaccionará a la emisión. Los «slots» también pueden ser usados como métodos normales en la implementación. </para>
-<para>Ahora, para conectar una señal a un «slot», tendrá que usar los métodos <methodname>connect()</methodname> proporcionados por la clase <classname>QObject</classname> o, cuando estén disponibles, otros métodos especiales proporcionados por diversos objetos para establecer la conexión con ciertas señales. </para>
+<para>Ahora, para conectar una señal a un «slot», tendrá que usar los métodos <methodname>connect()</methodname> proporcionados por la clase <classname>TQObject</classname> o, cuando estén disponibles, otros métodos especiales proporcionados por diversos objetos para establecer la conexión con ciertas señales. </para>
<sect3 id="c1s2s4s1">
<title>Ejemplo de uso</title>
@@ -255,16 +255,16 @@ hello.resize( 100, 30 );
a.setMainWidget( &amp;hello );
-QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
+TQObject::connect(&amp;hello, TQ_SIGNAL( clicked() ), &amp;a, TQ_SLOT( quit() ));
hello.show();
return a.exec();
}
</programlisting>
</para>
-<para>Como puede comprobar, la única adición para dar más interacción al botón consiste en usar un método <methodname>connect()</methodname>: <methodname>connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));</methodname> es todo cuanto tiene que añadir. ¿Cuál es su significado? La declaración de la clase QObject dice lo siguiente sobre el método <methodname>connect()</methodname>: </para>
-<para><methodname>bool connect ( const QObject * emisor, const char * señal, const QObject * receptor, const char * miembro ) </methodname></para>
-<para>Esto significa que debe especificar como primer parámetro un puntero de una instancia de la clase <classname>QObject</classname>, que es el emisor de la señal (lo que significa que puede emitir esta señal); a continuación debe especificar la señal que desea conectar. Los dos últimos parámetros son, en primer lugar, el objeto receptor que proporciona un «slot», y, finalmente, la función miembro de dicho objeto que va a actuar como «slot» (y que será ejecutada tras la emisión de la señal). </para>
+<para>Como puede comprobar, la única adición para dar más interacción al botón consiste en usar un método <methodname>connect()</methodname>: <methodname>connect(&amp;hello, TQ_SIGNAL( clicked() ), &amp;a, TQ_SLOT( quit() ));</methodname> es todo cuanto tiene que añadir. ¿Cuál es su significado? La declaración de la clase TQObject dice lo siguiente sobre el método <methodname>connect()</methodname>: </para>
+<para><methodname>bool connect ( const TQObject * emisor, const char * señal, const TQObject * receptor, const char * miembro ) </methodname></para>
+<para>Esto significa que debe especificar como primer parámetro un puntero de una instancia de la clase <classname>TQObject</classname>, que es el emisor de la señal (lo que significa que puede emitir esta señal); a continuación debe especificar la señal que desea conectar. Los dos últimos parámetros son, en primer lugar, el objeto receptor que proporciona un «slot», y, finalmente, la función miembro de dicho objeto que va a actuar como «slot» (y que será ejecutada tras la emisión de la señal). </para>
<para>Mediante el uso de señales y «slots», los objetos de su programa pueden interactuar con otros fácilmente sin depender explícitamente del tipo de objeto receptor. Aprenderá más sobre el uso de este mecanismo para usos productivos en sucesivas secciones de este manual. También puede encontrar más información sobre el mecanismo de señales y «slots» en la <ulink url="developer.kde.org/documentation/library/libraryref.html">Guía de referencia de la biblioteca KDE</ulink> y la <ulink url="doc.trolltech.com">referencia en línea de Qt</ulink>. </para>
</sect3>
</sect2>
@@ -304,7 +304,7 @@ hello.resize( 100, 30 );
a.setTopWidget( &amp;hello );
-QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
+TQObject::connect(&amp;hello, TQ_SIGNAL( clicked() ), &amp;a, TQ_SLOT( quit() ));
hello.show();
return a.exec();
@@ -313,7 +313,7 @@ return a.exec();
</para>
<para>Vea que en primer lugar hemos cambiado de <classname>QApplication</classname> a <classname>TDEApplication </classname>. Además, hemos tenido que cambiar elmétodo <methodname>setMainWidget()</methodname> anteriormente usado por <methodname>setTopWidget</methodname>, que utiliza <classname>TDEApplication</classname> para establecer el «widget» principal. ¡Y ya está! Su primera aplicación de KDE ya está terminada. Ahora solo le falta indicarle al compilador la ruta de inclusión de KDE, y al enlazador que utilice la biblioteca tdecore mediante el parámetro -ltdecore. </para>
<para>Como ahora ya sabe qué suele proporcionar como mínimo la función <function>main()</function>, cómo se hace visible una aplicación y cómo permite la interacción entre usuario y objetos, seguiremos con el siguiente capítulo, donde nuestra primera aplicación se construirá con &tdevelop;. Ahí tambień podrá probar todo lo que se ha dicho hasta ahora y comprobar sus efectos. </para>
-<para>Adicionalmente, hasta ahora ha consultado la documentación de referencia de Qt, especialmente las clases <classname>QApplication</classname>, <classname>QWidget</classname> y <classname>QObject</classname>, y la documentación de la biblioteca «tdecore» sobre la clase <classname>TDEApplication</classname>. El <ulink url="developer.kde.org/documentation/library/libraryref.html"> Manual d referencia de la biblioteca KDE</ulink> también contiene una completa descripción sobre cómo llamar a los constructores de <classname>QApplication</classname> y de <classname>TDEApplication</classname>, incluido el procesamiento de los argumentos pasados como parámetros en la línea de comando. </para>
+<para>Adicionalmente, hasta ahora ha consultado la documentación de referencia de Qt, especialmente las clases <classname>QApplication</classname>, <classname>TQWidget</classname> y <classname>TQObject</classname>, y la documentación de la biblioteca «tdecore» sobre la clase <classname>TDEApplication</classname>. El <ulink url="developer.kde.org/documentation/library/libraryref.html"> Manual d referencia de la biblioteca KDE</ulink> también contiene una completa descripción sobre cómo llamar a los constructores de <classname>QApplication</classname> y de <classname>TDEApplication</classname>, incluido el procesamiento de los argumentos pasados como parámetros en la línea de comando. </para>
</sect2>
</sect1>
@@ -471,7 +471,7 @@ return a.exec();
</para>
<para>Como puede ver, hemos colocado números al comienzo de cada línea que no aparecerán cuando realice este proceso; aquí nos ayudarán a describir qué está ocurriendo durante el proceso de construcción. En primer lugar, «gmake» trabaja recursivamente. Esto significa que comienza en la carpeta donde fue llamado y entra primero en las subcarpetas, de una en una, y luego vuelve a la carpeta en la que se inició, la procesa, y luego finaliza su ejecución. </para>
<para>La primera línea de interés es la 24. Vea que «g++» (que se refiere a nuestro compilador de C++) ha sido llamado por «make» para compilar el primer archivo de código fuente de nuestro proyecto (en este caso, «main.cpp»). En la línea de comando del compilador «g++» se usan muchas opciones extra, algunas de ellas de forma predeterminada y otras configuradas mediante &tdevelop;. </para>
-<para>Antes de compilar el siguiente archivo («kscribble.cpp», en la línea 29), el compilador de metaobjetos «moc» se llama por primera vez sobre «kscribble.h» (línea 25). Esto se debe a que las clases de KScribble usan señales y slots, de modo que la macro Q_OBJECT debe ser expandida antes de ser usada, y esto es lo que «moc» hace por nosotros. El archivo resultante («kscribble.moc»), se usa en «kscribble.cpp» mediante una sentencia #include dentro de él. </para>
+<para>Antes de compilar el siguiente archivo («kscribble.cpp», en la línea 29), el compilador de metaobjetos «moc» se llama por primera vez sobre «kscribble.h» (línea 25). Esto se debe a que las clases de KScribble usan señales y slots, de modo que la macro TQ_OBJECT debe ser expandida antes de ser usada, y esto es lo que «moc» hace por nosotros. El archivo resultante («kscribble.moc»), se usa en «kscribble.cpp» mediante una sentencia #include dentro de él. </para>
</sect1>
<sect1 id="c3s4">
@@ -549,10 +549,10 @@ return a.exec();
16 statusBar()->show();
17
18 // permitir que la vista pueda cambiar la barra de estado y el título
-19 connect(m_view, SIGNAL(signalChangeStatusbar(const QString&amp;)),
-20 this, SLOT(changeStatusbar(const QString&amp;)));
-21 connect(m_view, SIGNAL(signalChangeCaption(const QString&amp;)),
-22 this, SLOT(changeCaption(const QString&amp;)));
+19 connect(m_view, TQ_SIGNAL(signalChangeStatusbar(const TQString&amp;)),
+20 this, TQ_SLOT(changeStatusbar(const TQString&amp;)));
+21 connect(m_view, TQ_SIGNAL(signalChangeCaption(const TQString&amp;)),
+22 this, TQ_SLOT(changeCaption(const TQString&amp;)));
23
24 }
</programlisting>
@@ -584,7 +584,7 @@ return a.exec();
</itemizedlist>
</para>
<para>Tampoco es necesario decir que la estabilidad es uno de los principales objetivos del diseño. Nadie puede evitar los errores, pero se puede conseguir bastante mediante objetivos diseñados inteligentemente y el amplio uso de diseños orientados a objetos. C++ hace que la programación sea un juego si sabe cómo explotar sus capacidades: herencia, ocultación de información y reusabilidad del código existente. </para>
-<para>Cuando cree un proyecto KDE o Qt, siempre tendrá una vista que herede de QWidget, ya sea por herencia directa o porque el widget de la biblioteca que desea usar hereda de QWidget. De ahí que el asistente para aplicaciones haya construido una vista que es una instancia de una clase «aplicaciónView», que hereda de QWidget. </para>
+<para>Cuando cree un proyecto KDE o Qt, siempre tendrá una vista que herede de TQWidget, ya sea por herencia directa o porque el widget de la biblioteca que desea usar hereda de TQWidget. De ahí que el asistente para aplicaciones haya construido una vista que es una instancia de una clase «aplicaciónView», que hereda de TQWidget. </para>
<para>Este capítulo describe cómo usar widgets de bibliotecas para crear vistas para aplicaciones de KDE o Qt que han sido generadas con &tdevelop;. Luego veremos las bibliotecas y qué tipo de vistas nos ofrecen. </para>
</sect1>
<sect1 id="c4s2">
@@ -601,7 +601,7 @@ return a.exec();
<para>Si observa la primera página de la documentación en línea de Qt encontrará un enlace a «capturas de pantalla de los widgets», donde podrá ver cómo son los widgets que contiene Qt. Estos widgets están listos para usar y pueden ser combinados entre sí para formar widgets más complicados que le permitirán crear vistas y diálogos para su aplicación. A continuación describiremos algunos de estos widgets que le resultarán de utilidad para crear vistas de aplicaciones, pero recuerde que las bibliotecas de KDE suelen contener otros widgets para el mismo propósito. Veremos esto en la próxima sección. </para>
<para>A continuación le damos una lista de pistas sobre para qué propósito puede usar cada componente de Qt: <orderedlist>
<listitem><para>Si el área de su vista no es lo suficientemente amplia para mostrar todos sus datos, el usuario debería poder desplazarse por el documento con barras situadas a la derecha y en la parte inferior de la vista. Para ello, Qt proporciona la clase <classname>QScrollView</classname>, que ofrece un área hija que se puede desplazar. Como se ha explicado, puede derivar su propio widget de la clase <classname>QScrollView</classname> o usar una instancia de ella para gestionar el widget que contendrá la vista de su documento. </para></listitem>
-<listitem><para>Para crear una vista propia que se pueda deslazar, derive su widget de vista de la clase <classname>QWidget</classname> y añada un <classname>QScrollBar</classname> horizontal y otro vertical (esto es lo que hace, por ejemplo, el widget TDEHTMLView de KDE). </para></listitem>
+<listitem><para>Para crear una vista propia que se pueda deslazar, derive su widget de vista de la clase <classname>TQWidget</classname> y añada un <classname>QScrollBar</classname> horizontal y otro vertical (esto es lo que hace, por ejemplo, el widget TDEHTMLView de KDE). </para></listitem>
<listitem><para>Para procesar texto, utilice <classname>QTextEdit</classname>. Esta clase proporciona un widget con un completo editor de texto que es capaz de cortar, copiar y pegar texto, y está gestionado por una vista que se puede desplazar. </para></listitem>
<listitem><para>Use <classname>QTable</classname> para mostrar datos organizados en forma de tabla. Como <classname>QTable</classname> también está dotada de barras de desplazamiento, ofrece una buena solución para aplicaciones de cálculo de tablas. </para></listitem>
<listitem><para>Para mostrar dos widgets diferentes o dos instancias del mismo widget a la vez, utilice <classname>QSplitter</classname>. Esta clase le permite distribuir las vistas mediante divisores horizontales o verticales. KMail es un buen ejemplo de la apariencia de esta clase (la vista principal está dividida verticalmente por un «splitter» o divisor, y la ventana de la derecha también está dividida horizontalmente). </para></listitem>
@@ -653,7 +653,7 @@ return a.exec();
<title>Configuración de los accesos rápidos de teclado</title>
<para>Los accesos rápidos de teclado son algo muy profesional que siempre debería añadir a sus aplicaciones. Son usados principalmente por usuarios avanzados que desean trabajar más rápido con sus aplicaciones. Para implementarlos, las bibliotecas de KDE ofrecen la clase <classname>TDEAction</classname>, que proporciona las teclas de acceso rápido y también brinda acceso a los aceleradores de teclado estándares configurados globalmente. </para>
<para>De forma predeterminada, las aplicaciones generadas con &tdevelop; solo utilizan accesos rápidos de teclado estándares, como «F1» para acceder a la ayuda en línea, «Ctrl+N» para «Nuevo archivo», etc. </para>
-<para>Si su aplicación contiene gran número de aceleradores, debería hacer que se pudieran configurar desde el menú de «Opciones», ya sea combinados con la configuración de otras aplicaciones en un QWidget o bien de modo aislado. La biblioteca de KDE proporciona una clase <classname>KKeyChooser</classname> para usar en diálogos que contienen pestañas, para los que <classname>KKeyDialog</classname> proporciona un diálogo de configuración de teclas listo para usar. </para>
+<para>Si su aplicación contiene gran número de aceleradores, debería hacer que se pudieran configurar desde el menú de «Opciones», ya sea combinados con la configuración de otras aplicaciones en un TQWidget o bien de modo aislado. La biblioteca de KDE proporciona una clase <classname>KKeyChooser</classname> para usar en diálogos que contienen pestañas, para los que <classname>KKeyDialog</classname> proporciona un diálogo de configuración de teclas listo para usar. </para>
</sect1>
</chapter>
@@ -696,7 +696,7 @@ return a.exec();
<sect1 id="c8s4">
<title>El botón <guibutton>¿Qué es esto?</guibutton></title>
<para>El botón <guibutton>¿Qué es esto?</guibutton> proporciona ventanas de ayuda con la idea de que el usuario necesita ayuda sobre cierto widget de la vista activa o de un elemento de una barra de herramientas. Se suele colocar en la misma barra de herramientas y se activa cuando el usuario pulsa su botón. El cursor cambia a una flecha con un signo de interrogación (con el mismo aspecto que muestra el botón). A partir de ese momento, el usuario puede pulsar sobre cualquier widget visible y obtener una ventana de ayuda. Como ejercicio, pruebe el comportamiento del botón <guibutton>¿Qué es esto?</guibutton> de &tdevelop;. </para>
-<para>Para añadir ayudas «¿Qué es esto?» a cualquiera de sus widgets, utilice el método estático <methodname>QWhatsThis::add(QWidget *widget, const QString &amp;texto)</methodname> </para>
+<para>Para añadir ayudas «¿Qué es esto?» a cualquiera de sus widgets, utilice el método estático <methodname>QWhatsThis::add(TQWidget *widget, const TQString &amp;texto)</methodname> </para>
</sect1>
</chapter>