Arriba

Añadiendo menúes simples a nuestro programa

Ya que tenemos nuestra clase principal, encargada de manejar la ventana principal, procedamos a añadirle unos menúes. Para ello hay que crear menúes e items individualmente para luego añadirlos donde sea necesario. Empezaremos por lo más básico, una aplicación con los menúes Archivo {Abrir, Salir} y Edición {Copiar, Cortar, Pegar} . Tendremos entonces cinco items: Abrir, Copiar, Cortar, Pegar y Salir; dos menúes: Archivo y Edición y una barra de menú. La clase KMenuBar es la encargada de dibujar la barra de menú en la ventana y de acomodar los items que se le añadan. La clase KPopupMenu se encarga de desplegar un menú con los items añadidos. El archivo KMiMainWindow.cpp de la clase, ya modificado quedaría:

#include "KMiMainWindow.h"
#include <kmenubar.h>
#include <kpopupmenu.h>

KMiMainWindow::KMiMainWindow(QWidget *parent, const char *name) :
               KMainWindow(parent, name) {
  // Configuramos nuestra ventana
  setGeometry(0,0,400,400);
  setCaption("MiMainWindow");
  // Creamos la barra de menú
  KMenuBar *mb = new KMenuBar(this, "MenuBar");  
  // Creamos el menú Archivo y lo añadimos a la barra de menú
  KPopupMenu *p = new KPopupMenu(this, "PopupArchivo");
  p->insertItem("&Abrir");
  p->insertSeparator();
  p->insertItem("&Salir");
  mb->insertItem("&Archivo", p);
  // Creamos el menú Edición y lo añadimos a la barra de menú
  p = new KPopupMenu(this, "PopupEdicion");
  p->insertItem("&Copiar");
  p->insertItem("Co&rtar");
  p->insertItem("&Pegar");
  mb->insertItem("&Edición", p);
}

Ahora lo compilamos y lo ejecutamos:

make && ./kaplicacion

Y obtenemos la siguiente ventana:

Programa MiMainWindow compilado y corriendo
Programa MiMainWindow compilado y corriendo
Programa MiMainWindow compilado y corriendo

Por ahora la apariencia no es lo más bonita que puede ser. KDE nos ofrece una apariencia mucho más atractiva, con iconos y aceleradores en los menúes. En el próximo artículo veremos como añadirle imágenes a cada item del menú, los aceleradores (por ejemplo, Ctrl+C para copiar) y algunas cositas más.

0 comentarios: