Qt 4.9 Dividir Programa en Tres Partes

16
Qt 4.9 dividir un programa en 3 partes sencillo Vamos a ver el código directamente . /********************************************************************/ main.cpp /********************************************************************/ #include <QtGui/Application> #include “libreta.h” int main ( int argc, char *argv[]) { QtApplication a ( argc , argv ) ; libreta *lib = new libreta ; lib->show(); return a.exec(); }

Transcript of Qt 4.9 Dividir Programa en Tres Partes

Page 1: Qt 4.9 Dividir Programa en Tres Partes

Qt 4.9 dividir un programa en 3 partes sencillo

Vamos a ver el código directamente .

/********************************************************************/main.cpp

/********************************************************************/

#include <QtGui/Application>#include “libreta.h”

int main ( int argc, char *argv[]){ QtApplication a ( argc , argv ) ; libreta *lib = new libreta ; lib->show(); return a.exec(); }

Page 2: Qt 4.9 Dividir Programa en Tres Partes

/********************************************************************/libreta.h

/********************************************************************/

#ifndef LIBRETA_H#define LIBRETA_H

#include <QtGui/QWidget>#include <QMap>#include “buscar.h”

class QLabel ;class QLineEdit;class QPushButton ;

class libreta : public QWidget

{ Q_OBJECT

public : libreta (QWidget *parent = 0 ) ;

private :

QLineEdit * nombreLine ;

Boton *dialogo ;

} ;

#endif // LIBRETA_H

Page 3: Qt 4.9 Dividir Programa en Tres Partes

/********************************************************************/libreta.cpp

/********************************************************************/

#include <QtGui>#include “libreta.h”

libreta :: libreta(QWidget *parent ) : QWidget (parent )

{ QLabel * nombreLabel = new QLabel (“Nombre :” ); nombreLine= new QLineEdit ;

QLabel * direccionLabel = new QLabel ( “ Direccion : “ );

dialogo = new boton ;

QGridLayout *mainLayout = new QGridLayout ;

mainLayout ->addWidget ( nonbreLabel , 0 , 0 ) ; mainLayout ->addWidget ( nonbreLine , 0 , 1 ) ; mainLayout ->addWidget ( direccionLabel , 1, 0 ) ; mainLayout ->addLayuot ( dialogo , 1, 1 );

setLayout (mainLayout ) ; setWindowTitle (“ Simple Libreta de Direcciones “ ) ;}

Page 4: Qt 4.9 Dividir Programa en Tres Partes

/********************************************************************/buscar.h

/********************************************************************/

#ifndef BUSCAR_H#define BUSCAR_H

#include <QLayout>

class QLineEdit ;class QPushButton ;

class Boton : public QVBoxLayout

{

Q_OBJECT

public :

Boton (QWidget *parent = 0 ) ;

public slots :

private :

QPushButton * Button :

} ;

#endif // BUSCAR_H

Page 5: Qt 4.9 Dividir Programa en Tres Partes

/********************************************************************/buscar.cpp

/********************************************************************/

#include <QtGui>#include “buscar.h”

Boton ::Boton(QWidget *parent) : QVBoxLayout (parent){

Button = new QpushButton( "Buscar" ); addWidget(Button) ;

}

Page 6: Qt 4.9 Dividir Programa en Tres Partes

/********************************************************************/

Procedemos a compilar

Abrimos la carpeta que contenga los archivos en C++ ( .cpp ) con sus correspondientes archivos de cabeceras (.h )

Procedemos a compilar :

colocamos :

qmake -project

qmake

make

Page 7: Qt 4.9 Dividir Programa en Tres Partes

Ahora ya tenemos nuestro autoejecutable le damos doble clix sobre el autoejecutablepara ejecutarlo .

Page 8: Qt 4.9 Dividir Programa en Tres Partes

Nuestro programa .

Page 9: Qt 4.9 Dividir Programa en Tres Partes

Explico el programa

Primero explico la clase principal o archivo main que es el corazón de nuestro programa .

main.cpp

/**************************************************************/

#include <QtGui/Application>#include “libreta.h”

int main ( int argc, char *argv[]){ QtApplication a ( argc , argv ) ; libreta *lib = new libreta ; lib->show(); return a.exec(); }

Vemos la subclase o clase secundaria luego de la clase principal o main .(en ingles clase = class ) .

Esta es nuestra subclase declarada dentro del main para invocarla

libreta *lib = new libreta ; lib->show();

Page 10: Qt 4.9 Dividir Programa en Tres Partes

Procedemos a definir la subclase en el archivo de cabecera libreta.h .

#ifndef LIBRETA_H#define LIBRETA_H

#include <QtGui/QWidget>#include <QMap>#include “buscar.h”

class QLabel ;class QLineEdit;class QPushButton ;

class libreta : public QWidget

{ Q_OBJECT

public : libreta (QWidget parent = 0 );

private :

QLineEdit * nombreLine ;

Boton *dialogo ;

} ;

#endif // LIBRETA_H

Page 11: Qt 4.9 Dividir Programa en Tres Partes

Esta es nuestra definición de la subclase .

class libreta : public QWidget

{ Q_OBJECT

public : libreta (QWidget parent =0 );

private :

QLineEdit * nombreLine ;

Boton *dialogo ;

} ;

Definimos nuestro archivo de cabecera libreta.h

Principio :

#ifndef LIBRETA_H#define LIBRETA_H

Final

#endif // LIBRETA_H

Invocamos las librerías que usaremos

#include <QtGui/QWidget>#include <QMap>#include “buscar.h”

Page 12: Qt 4.9 Dividir Programa en Tres Partes

<QtGui/QWidget>= invocamos todos los widgets de Qt .

<QMap>= invocamos la libreria de señales de Qt .

"buscar.h"= invocamos al archivo de cabecera buscar.h para llamar a las funciones del archivo buscar.cpp .

Definimos las subclases classes para los widgets definidos en private

class Qlabel ;class QlineEdit;class QPushButton ;

En private declaramos si queremos otros widgets que usaremos para nuestra interfaz grafica .

private :

QLineEdit * nombreLine ;

Boton *dialogo ;

Vemos atentamente Boton * dialogo ; es una nueva subclase definida en el archivo decabecera buscar.h que contendrá un botón con label llamada buscar .a esta subclase la declaramos en libreta.cpp

Page 13: Qt 4.9 Dividir Programa en Tres Partes

/****************************************************************************/

libreta.cpp

Definimos la subclase libreta en el archivo libreta.cpp

#include <QtGui>#include “libreta.h”

libreta : : libreta(QWidget *parent ) : QWidget (parent )

{ Qlabel * nombreLabel = new QLabel (“Nombre :” ); nombreLine= new QLIneEdit ;

QLabel * direccionLabel = new QLabel ( “ Direccion : “ );

dialogo = new boton ;

QGridLayout *mainLayout = new QGridLayout ;

mainLayout ->addWidget ( nonbreLabel , 0 , 0 ) ; mainLayout ->addWidget ( nonbreLine , 0 , 1 ) ; mainLayout ->addWidget ( direccionLabel , 1, 0 ) ; mainLayout ->addLayuot ( dialogo , 1, 1 );

setLayout (mainLayout ) ; setWindowTitle (“ Simple Libreta de Direcciones “ ) ;}

Pueden mirar que en libreta.cpp declaramos la nueva subclase Boton que estará contenidoen la subclase libreta .

la subclase Boton es un widget layout o caja en Qt , este widget contiene un boton en el archivo buscar.cpp .Esta es nuestra subclase

dialogo = new Boton ;

Page 14: Qt 4.9 Dividir Programa en Tres Partes

Nuestra subclase Boton es un widget layout (caja simple ) estará contenida en el widget mainLayout

mainLayout->addLayout (dialogo , 1 ,1 );

/******************************************************************************/

Procedemos a definir la subclase Boton en el archivo de cabecera buscar.heste paso es similar a lo que hicimos en el archivo de cabecera libreta.h

#ifndef BUSCAR_H#define BUSCAR_H

#include <QLayout>

class QLineEdit ;class QPushButton ;

class Boton : public QVBoxLayout

{

Q_OBJECT

public :

Boton (QWidget *parent = 0 ) ;

public slots :

private :

QPushButton * Button :

} ;

#endif // BUSCAR_H

Page 15: Qt 4.9 Dividir Programa en Tres Partes

Esta es nuestra subclase Boton que en realidad es un widget QVBoxLayoutes una caja vertical .

class Boton : public QVBoxLayout

{ Q_OBJECT

public :

Boton (QWidget *parent = 0 ) ;

public slots :

private :

QPushButton * Button :

Vemos la definicion de nuestra subclase Boton como QVBoxLayout

class Boton : public QVboxLayout

Declaramos un widget button , que detallaremos en el archivo buscar.cpp

private :

QPushButton *Button ;

Page 16: Qt 4.9 Dividir Programa en Tres Partes

/*****************************************************************************/

Ahora vemos el archivo buscar.cpp en el definimos la subclase Boton y definimosel widget button que estará contenido en la subclase Boton que en realidad es un un widget layout o caja que contiene al widget button .

#include <QtGui>#include “buscar.h”

Boton ::Boton(QWidget *parent) : : QVBoxLayout (parent){

Button = new QpushButton( "Buscar" ); addWidget(Button) ;

}

Autor del tutorial : Mariano R Gaudix

E-mail : [email protected]

Red social : Google Plus