Es importante el nombre que se da a cada objeto, ya que mediante él serán referenciados. Por esto, se modifican los nombres de los objetos de las diferentes clases de widgets según:
Clase de Widget | Nombre Objeto |
QListWidwet | lista |
QLineEdit | entrada |
QPushButton | agregar |
QPushButton | convertir |
QPushButton | finalizar |
QRadioButton | mayuscula |
QRadioButton | minuscula |
Luego de esto, las modificaciones para programar las funcionalidades descrita deben realizarse directamente al código. De esta forma, se agregaran tres slots, add(), conv() y finish(). El primero agrega el texto escrito en entrada a lista. El segundo convierte el texto en entrada a mayúsculas o minúsculas, dependiendo de que objeto de QPushButton se encuentre activado (true: activado, false: desactivado). Por último, finish(), genera el archivo lista.data y agrega el texto en lista, luego termina la aplicación. Así, los slots son definidos en editor.h como se muestra en el cuadro 5 e implementados en editor.cpp como se muestra en el cuadro 6.
Posterior a esto, se establece la conexión entre las señales emitidas al ser presionado cada boton y el slot correspondiente. Dicha conexión se realiza modificando el constructor de la clase editor como se muestra en el cuadro 7. Además, mediante las líneas 6 y 7 se ``entrega el foco''7 a entrada y se selecciona por defecto el objeto de QPushButton mayuscula, respectivamente. Cabe destacar, que los objetos de la clase QPushButton son mútuamente excluyentes, por lo que no es necesario programar este comportamiento. Es importante recalcar que los widgets agregados no efectúan comportamientos que no se programen previamente. Un ejemplo de esto es la inserción de datos a lista, ya que mediante la línea 8 del cuadro 7 se establece que al emitir la señal clicked() por el botón agregar se ejecuta el slot add(), pero además, en la línea siguiente, se establece que al emitirse la señal returnPressed() por entrada, se ejecuta el mismo slot. De esta forma, los datos pueden ser ingresados presionando el botón agregar o presionando la tecla enter del teclado, una vez finalizada la escritura. Si no se agrega la línea 9 al constructor, el presionar la tecla enter no genera acción alguna.
Una vez finalizado este proceso basta compilar y ejecutar la aplicación para corroborar que se cumplan los objetivos propuestos.
Cristian Duran-Faundez 2013-07-23