Escolar Documentos
Profissional Documentos
Cultura Documentos
C++
qmake
Qt
Otras Herramientas
Gaston Jorquera
gjorquera [at] gmail [dot] com
Universidad de Chile
Facultad de Ciencias Fsicas y Matematicas
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++
qmake
Qt
Otras Herramientas
Contenidos
C++
Clases
Qt
Punteros
Qt
Referencias
Conceptos Iniciales
Otras Caractersticas
Designer
qmake
Estructura de Archivos
qmake
Otras Herramientas
Proyectos Simples
Proyectos Complejos
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Definiciones de Clases
#i f n d e f POINT2I H
#d e f i n e POINT2I H
#i n c l u d e point2i . h
class Point2I
{ Point2I : : Point2I ()
public : : m x (0) , m y (0) {
// ! C o n s t r u c t o r p o r d e f e c t o . }
Point2I (); Point2I : : Point2I ( int x , int y) {
// ! C o n s t r u c t o r con v a l o r e s . m x = x; m y = y;
Point2I ( int x , int y ); }
// ! D i s t a n c i a e u c l i d i a n a . double P o i n t 2 I : : d i s t a n c i a ( P o i n t 2 I f i n ) {
f r i e n d double d i s t a n c i a ( P o i n t 2 I f i n ) ; d o u b l e x = 1 . 0 ( m x f i n >m x ) ;
// ! C a l c u l a l a norma d e l v e c t o r d o u b l e y = 1 . 0 ( m y f i n >m y ) ;
d o u b l e norma ( ) ; r e t u r n s q r t ( xx + yy ) ;
// G e t t e r s y s e t t e r s . }
void setX ( i n t x ) { m x = x ; } d o u b l e P o i n t 2 I : : norma ( ) {
void setY ( i n t y ) { m y = y ; } // D i s t a n c i a e u c l i d i a n a e n t r e
int x () { return m y ; } // e l o r i g e n y e s t e p u n t o .
int y () { return m x ; } P o i n t 2 I o r i g e n = new P o i n t 2 I ;
private : d o u b l e norma = d i s t a n c i a ( o r i g e n ) ;
i n t m x = 0 ; // < NO COMPILA delete origen ;
int m y; r e t u r n norma ;
} ; // < o j o e l ; . }
#e n d i f // POINT2I H
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Templates
#i f n d e f POINT2 H
#d e f i n e POINT2 H
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Interfaces
#i f n d e f CIRCULO H
#i f n d e f FIGURA H
#d e f i n e CIRCULO H
#d e f i n e FIGURA H
#i n c l u d e point2i . h
class Point2I ;
#d e f i n e PI 3 . 1 4 1 5
class Figura
class Circulo : public Figura
{
{
public :
public :
v i r t u a l Figura ( Point2I centroide ) {
Circulo ( Point2I centroide , int radio )
m centroide = centroide ;
: Figura ( centroide ) {
}
m radio = radio ;
v i r t u a l Figura () {
}
delete m centroide ;
double perimetro () {
}
r e t u r n 2 PI m r a d i o ;
// ! C a l c u l a e l p e r i m e t r o .
}
v i r t u a l double perimetro () = 0;
double area () {
// ! C a l c u l a e l a r e a .
r e t u r n PI m r a d i o m r a d i o ;
v i r t u a l double area () = 0;
}
protected :
private :
Point2I m centroide ;
i n t m radio ;
};
};
#e n d i f // FIGURA H
#e n d i f // CIRCULO H
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Herencia Multiple
class A
{
v o i d metodo ( ) {
// Hace a l g o .
}
clase C
void unico () {
{
// Hace o t r a c o s a .
v o i d metodo ( ) {
}
A : : metodo ( ) ;
};
B : : metodo ( ) ;
u n i c o ( ) ; // Llama a A .
class B
}
{
};
v o i d metodo ( ) {
// I m p l e m e n t a c i o n d i s t i n t a a l a
// de l a c l a s e A .
}
};
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Punteros
p3 = new P o i n t 2 I ( 1 , 3 ) ;
p4 = new P o i n t 2 I ;
p1 . s e t X ( p3>y ( ) ) ;
d e l e t e p3 ;
d e l e t e p4 ;
int j = 2;
i n t k = &j ; // &j d e v u e l v e un p u n t e r o a j .
k = 4 ; // a h o r a j = 4 t a m b i e n
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Referencias
// En l a c l a s e P o i n t 2
// O r i g i n a l
double P o i n t 2 I : : d i s t a n c i a ( P o i n t 2 I f i n ) {
d o u b l e x = 1 . 0 ( m x f i n >m x ) ;
d o u b l e y = 1 . 0 ( m y f i n >m y ) ;
r e t u r n s q r t ( xx + yy ) ;
}
// Nueva
// E v i t a m o s p u n t e r o s n u l o s y c o p i a s !
double P o i n t 2 I : : d i s t a n c i a ( P o i n t 2 I &f i n ) {
double x = 1.0( m x f i n . m x ) ;
double y = 1.0( m y f i n . m y ) ;
r e t u r n s q r t ( xx + yy ) ;
}
// Ahora puede s e r i m p l e m e n t a d o a s i :
d o u b l e P o i n t 2 I : : norma ( ) {
// D i s t a n c i a e u c l i d i a n a e n t r e
// e l o r i g e n y e s t e p u n t o .
Point2I origen ;
r e t u r n d i s t a n c i a ( o r i g e n ) ; // r e t u r n d i s t a n c i a ( P o i n t 2 I ( ) ) ;
}
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Clases
C++
Punteros
qmake
Referencias
Qt
Otras Caractersticas
Otras Herramientas
Otras Caractersticas
I Enumerators
enum D i a s { Lunes , Martes , M i e r c o l e s , J u e v e s , V i e r n e s } ;
Dias d i a = Lunes ;
I Typedef
t y p e d e f P o i n t 2<d o u b l e> Point2D ;
Point2D p u n t o ( 3 . 2 , 3 . 3 ) ;
I Operators
t e m p l a t e <typename T>
c l a s s Point2
{
public :
...
T &o p e r a t o r [ ] ( i n t i ) {
return ( i > 0 ? m x : m y );
}
};
P o i n t 2<i n t > p u n t o ;
p u n t o [ 1 ] = 3 4 ; // G r a c i a s a que d e v u e l v e T&
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++ qmake
qmake Proyectos Simples
Qt Proyectos Complejos
Otras Herramientas
qmake
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++ qmake
qmake Proyectos Simples
Qt Proyectos Complejos
Otras Herramientas
Proyectos Simples
I Escribir codigo.
I qmake project Genera el archivo .pro.
I qmake Genera los Makefiles.
I make Compila el programa.
I Ejemplo.
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++ qmake
qmake Proyectos Simples
Qt Proyectos Complejos
Otras Herramientas
Variables
I TEMPLATE={app|lib}
I CONFIG
I TARGET
I SOURCES
I FORMS
I RESOURCES
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++ qmake
qmake Proyectos Simples
Qt Proyectos Complejos
Otras Herramientas
Librerias
ejemplo /
bin /
app
libGeometry . so
src /
app /
app . p r o
main . cpp
libs/
geometry /
geometry . pro
p o i n t 2 . cpp
point2 . h
l i b s . pro
s r c . pro
ejemplo . pro
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Qt
C++
Conceptos Iniciales
qmake
Designer
Qt
Estructura de Archivos
Otras Herramientas
Qt
I Librera C++ grafica multiplataforma.
I LGPL en su version 4.5.
I Incluye las siguientes herramientas:
I Creacion rapida de Dialogs y MainWindows (designer).
I I18n (linguist).
I Sistema de ayuda (assistant).
I Provee funcionalidades para:
I Graficos 2D y 3D.
I Widgets con el patron MVC (Item y Container).
I IO
I Acceso a bases de datos.
I Networking.
I XML.
I Multithreading.
I Plugins.
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Qt
C++
Conceptos Iniciales
qmake
Designer
Qt
Estructura de Archivos
Otras Herramientas
Conceptos Iniciales
I QObject.
I QWidget.
I QDialog.
I QMainApplication.
I QLayout.
I QWidget memory management.
I Sistema Signals/Slots.
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Qt
C++
Conceptos Iniciales
qmake
Designer
Qt
Estructura de Archivos
Otras Herramientas
Designer
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
Qt
C++
Conceptos Iniciales
qmake
Designer
Qt
Estructura de Archivos
Otras Herramientas
Estructura de Archivos
cc52b /
bin /
src /
app /
app . p r o
cc52bmainwindow . cpp
cc52bmainwindow . h
cc52bmainwindow . u i
main . cpp
libs/
cc52b /
// I m p l e m e n t a c i o n de f u n c i o n a l i d a d e s
// en c l a s e s b i e n o r d e n a d a s .
cc52b . pro
cc52bwidget /
// E x t e n s i o n de QGLWidget p a r a que
// f u n c i o n e b i e n con e s t a e s t r u c t u r a .
cc52bwidget . pro
l i b s . pro
s r c . pro
cc52b . pro
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4
Contenidos
C++
qmake
Qt
Otras Herramientas
Otras Herramientas
I Git
I QtCreator
Gaston Jorquera gjorquera [at] gmail [dot] com Introduccion al Desarrollo de Aplicaciones con C++ y Qt4