Programación con Qt4/Crear una ventana
Crear una ventana
editarPreviamente se observo como crear una aplicación con los elementos básicos como QLabel o QPushButton. A estos elementos o componentes de una interfaz de usuario se les llama widgets (Ver Definición de Widget). Los widgets probados hasta este momento no pueden contener mas widgets.
Existen un widget que permite contener los widgets antes vistos, esta funcionalidad la proporciona la librería QWidget. Veamos el ejemplo.
/******** widget_ventana.cpp **********/
#include <QApplication>
#include <QPushButton>
#include <QFont>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication aplicacion(argc, argv);
QWidget ventana;
ventana.resize(300,200);
QPushButton boton_salir("Salir", &ventana);
boton_salir.resize(200, 130);
boton_salir.setFont(QFont("Times", 18, QFont::Bold));
boton_salir.setGeometry(20,50,150,40);
QObject::connect(&boton_salir, SIGNAL(clicked()), &aplicacion, SLOT(quit()));
ventana.show();
return aplicacion.exec();
}
Descripción
editar- linea 5
- Aquí se agrega la referencia a la librería QWidget
- linea 11
- Se crea el objeto QWidget que se llamará ventana.
- linea 12
- Se ajusta el tamaño del objeto ventana.
- linea 14
- En esta linea se observa la referencia que se hace al crear el objeto boton_salir. En vez de crearse una estancia en aplicacion se crea en la estancia ventana.
- linea 17
- Se agrega una nueva propiedad al boton_salir; setGeometry ajusta los valores de la posición gráfica (20,50,150,40) en que se deberá encontrar el boton_salir. Esta posición es relativa de acuerdo al contenedor, en este caso es relativa a ventana.
- linea 10
- Finalmente mostramos la aplicación(ventana.show()) en los ejemplos anteriores se observa que para mostrar la aplicación el código era aplicacion.show() sin embargo en este caso nuestra estancia que contiene los widgets (el boton_salir) es ventana por lo consiguiente es el que queremos mostrar.
Compilar
editarA partir de este pagina se asumirá que se deberá compilar apropiadamente el código para observar el resultado a obtener. Por lo que ya no se mencionará que se tiene que compilar el código.
Pues bien, a compilar con qmake -project, qmake y make.