Noticia Creando una App (Vala + GTK 3) [3ª parte]

En esta parte veremos como crear otra ventana y diseñarla con GTK. Veremos además algunas funcionalidades como agregar preguntas y usar los tres botones (50%,congelar y pasar).

ToolBar y ToolButton

Crear una ToolBar:



Creando un ToolButton, en este caso le pondremos un icono (podéis encontrar muchos iconos por defecto aquí) con “from_stock ( Gtk.Stock.NombreDelIcono) :



Podemos ver que en nuestra aplicación tenemos arriba una barra con dos botones, donde el primero lo usaremos para crear nuevas preguntas y el segundo para importar preguntas (a través de un fichero):



Creando preguntas:
El botón que creamos anteriormente (en el toolbar) al clickar en el abriremos una nueva ventana gtk que nos permitirá agregar preguntas en nuestra base de datos:



Para crear una nueva ventana crearemos una nueva clase, la cual llamaremos Preguntas, y como nuestra clase App creara una nueva ventana (this.window = new Gtk.Window ();)

Usaremos unos cuantos componentes para crear la interfaz gráfica por orden;

-Label (Preguntas)

- Entry (donde escribiremos la pregunta)

-Label (respuestas)

- 4 box horizontales que contendrán un Entry (la respuesta) y un Switch (para seleccionar si es la correcta)

-Button (para completar)

Podemos ver como queda:



Para guardar la pregunta tendremos que obtener el texto de los entrys, se obtienen con get_text() el cual nos devuelve un string.



Para saber si si un Switch esta activo podemos usar su método get_active () el cual nos devuelve true si esta en on y flase si esta en off.

Botones 50%, Congelar y Pasar:

-50% :

Para el 50% solo tenemos que mirar cual es el botón correcto y quitar 2 que no sean el correcto, en este caso los anulamos con set_sensitive(false) .



Resultado:



-Congelar:

Ponemos la barra a 0 otra vez.

this.barra_tiempo.set_fraction (0);

-Pasar:

button3.clicked.connect (() => {
this.bd_select_preguntas ();
this.next_pregunta();
});

Próxima Parte (4):

En la próxima entrega veremos como mejorar aspectos de nuestra aplicación, como por ejemplo que las preguntas no salgan siempre en la misma posición, poner un icono a la app …




qFpT8iGJMT8


Continúar leyendo...