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:
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.