Capítulo 2. Creando la Aplicacion

Primero, ejecutemos el designer en el background lanzandolo desde una consola (esta la volveremos a usar repetidas veces en el taller):

Lanzamiento del designer mediante konsole

Luego, creemos un nuevo proyecto:

desiner new project

Demosle un nombre, preferiblemente este:

desiner project settings

Creando la Ventana Principal

Ahora crearemos el widget principal del proyecto (correspondiente a una instancia de una clase derivada de la clase QMainWindow y que indistantamente tambien llameremos “forma principal”, o, simplemente “forma”), correspondiente al objeto con menues, toolbars, etc. (puedes hacerlo desde File->New):

desiner new main window

Te recibe un “Wizard”, completalo del modo indicado:

desiner new main window: wizard step 1

En este paso del wizard definimos el aspecto de nuestro ToolBar. En este punto puedes ensayar a darle el aspecto que desees (pero no te pases, eh?!)

desiner new main window: wizard step 2

Acerca del siguiente paso del Wizard se podrian decir muchas cosas... que esperas para darle "Finish"!

desiner new main window: wizard step 3

Si todo fue bien deberias obtener un resultado similar a este:

desiner new main window: resultado

Cambiemos el inexpresivo nombre Form1 del QMainWindow por el elocuente myeditor:

Cambiando el nombre del QMainWindow

Antes de estudiar el contenido del fichero .pro debemos salvar nuestro trabajo (de hecho mediante esta operacion se crea dicho fichero). (File->Save all):

Save all

El Fichero .pro

Revisemos lo que tenemos en el directorio del proyecto:

resultado de save all: ls

Tenemos un nuevo directorio, llamado “images” y dos ficheros nuevos: “myeditor.ui” y “myeditor.pro”. En el directorio se encuentran pixmaps que se van a emplear para las acciones estandar (como open, save, etc.). El fichero myeditor.ui es un fichero xml que posee la descripcion de la forma recien creada (a partir de la cual el uic de Qt va a generar el correspondiente codigo c++). Finalmente, el fichero myeditor.pro posee la informacion necesaria para generar (mediante el comando qmake) el correspondiente Makefile (de acuerdo a las condiciones particulares de nuestra configuracion local, como el sistema operativo, etc.). Hechemosle un vistazo:

resultado de save all: less myeditor.pro

Congruente y simple a diferencia del Makefile que genera ;-)

El Fichero main.cpp

Al igual que sucede con cualquier aplicacion desarrollada en c++, necesitamos una funcion main() para poder generar el respectivo ejecutable. Asi que antes de compilar cualquier cosa, generemos dicha funcion (File->New):

new main.cpp

Asociemos myeditor como su principal forma (no hay mas opciones):

new main.cpp: main form: myeditor

Tenemos la funcion recien creada en su respectivo editor de texto (como no la vamos a editar, porque no lo necesitamos, podemos cerrarla)

new main.cpp: editor de texto

Salvemos todo de nuevo (File->Save all). Podemos ver la aparicion del nuevo fichero main.cpp

resultado de ls despues de salvar todo de nuevo

De igual manera la funcion se incluye en el fichero myeditor.pro:

resultado de less despues de salvar todo de nuevo