Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lisandro Perez Meyer Introduccion A Qt4
Lisandro Perez Meyer Introduccion A Qt4
programa! Notar C+e se e pasa argc y argv como arg+mento para C+e p+eda procesar arg+mentos de ineas de comando como -display en K22
QApplication app(argc, argv)! QPushButton hello("#$ola mundo%")! hello&resi'e(()), *))! hello&sho+()! return app&e,ec()! Le damos +n tamaLo inicia en pi<e es( e<c +yendo e marco y a 4arra de t;t+ o de a 7entana!
Lisandro Damin Nicanor Prez Meyer Septiembre 2007
QPushButton /uit("0alir")! /uit&resi'e(12, *))! /uit&set.ont(Q.ont("3imes", (4, Q.ont55Bold))! Q678ect55connect(9/uit, 0:;<A=(clic>ed()), 9app, 0=63(/uit()))! /uit&sho+()! return app&e,ec()! Lisandro Damin Nicanor Prez Meyer Septiembre 2007
QApplication app(argc, argv)! QPushButton /uit("0alir")! /uit&resi'e(12, *))! /uit&set.ont(Q.ont("3imes", (4, Q.ont55Bold))! Q678ect55connect(9/uit, 0:;<A=(clic>ed()), 9app, 0=63(/uit()))! ? egimos +na %+ente de 2N p+ntos para e 4ot1n( de a %ami ia &imes! return app&e,ec()!
&am4in es posi4 e cam4iar a %+ente por de%ecto para toda a ap icaci1n /uit&sho+()! +ti izando QApplication$$s#t)ont !!
Q+,(#ct$$conn#ct ! es C+izs a caracter;stica mas importante de #t! Notar C+e conn#ct ! es +na %+nci1n esttica de Q+,(#ct! La amada a conn#ct ! esta4 ece +na cone<i1n de +n s1 o sentido entre dos o4,etos de #t Fo4,etos C+e heredan de Q+,(#ct( directa + #include <QApplication> indirectamenteD! Cada o4,eto #t p+ede tener tanto signals FseLa esD #include <Q.ont> para en7iar mensa,es como s ots Fp+ertosD para reci4ir os! &odos os 'idgets<QPushButton> son o4,etos #t( de4ido a C+e heredan de Q-idg#t( C+e a s+ #include 7ez hereda de Q+,(#ct! 5C+; a seLa clic'#d ! de 4ot1n &uit est conectada a s ot &uit ! int main(int argc, char *argv[]) de a ap icaci1n( de manera de C+e c+ando e 4ot1n sea apretado( a ap icaci1n se cierre!
QPushButton /uit("0alir")! /uit&resi'e(12, *))! /uit&set.ont(Q.ont("3imes", (4, Q.ont55Bold))! Q678ect55connect(9/uit, 0:;<A=(clic>ed()), 9app, 0=63(/uit()))! /uit&sho+()! return app&e,ec()!
Lisandro Damin Nicanor Prez Meyer Septiembre 2007
Introduccin al desarrollo
#include #include #include #include <QApplication> <Q.ont> <QPushButton> <Q?idget>
multiplataforma con Qt 4
class @A?idget 5 pu7lic Q?idget pu7lic5 @A?idget(Q?idget *parent B ))! -! @A?idget55@A?idget(Q?idget *parent) 5C+; creamos +na n+e7a c ase! Como a misma hereda de Q-idg#t( a 5 Q?idget(parent)
n+e7a c as ser +n 'idget y podr ser tanto +na 7entana como +n 'idget hi,o Fcomo e QPushButton de cap;t+ o anteriorD! set.i,ed0i'e(C)), (C))! *1 o de%inimos +n constr+ctor! Los dems mtodos se heredan de Q-idg#t. */uit B ne+ QPushButton(tr("0alir"), this)! ? QPushButton constr+ctor es +n constr+ctor estndar de +n 'idget #t! *iempre se de4e /uitD>set;eometrA(EC, F), 12, *))! crear +n constr+ctor simi ar c+ando se crean 'idgets! /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! ? arg+mento es e 'idget padre! Para crear +na 7entana se de4e especi%icar +n p+ntero n+ o Fcomo es e caso por de%ecto de ste e,emp oD!
connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))!
Introduccin al desarrollo
#include <QApplication> #include <Q.ont> #include <QPushButton> #include La imp<Q?idget> ementaci1n de constr+ctor comienza aC+;! Como a class @A?idget 5 pu7lic Q?idget
multiplataforma con Qt 4
pu7lic5 @A?idget(Q?idget *parent B ))! -! @A?idget55@A?idget(Q?idget *parent) 5 Q?idget(parent) set.i,ed0i'e(C)), (C))! QPushButton */uit B ne+ QPushButton(tr("0alir"), this)! /uitD>set;eometrA(EC, F), 12, *))! /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))!
Introduccin al desarrollo
#include #include #include #include <QApplication> <Q.ont> <QPushButton> <Q?idget>
multiplataforma con Qt 4
? 'idget no sa4e como redimensionarse( por o C+e e %i,aremos s+ tamaLo! ?n e Q?idget pr1<imo e,emp o 7eremos como hacer C+e class @A?idget 5 pu7lic responda ante +n redimensionamiento de a 7entana!
pu7lic5 @A?idget(Q?idget *parent B ))! -! @A?idget55@A?idget(Q?idget *parent) 5 Q?idget(parent) set.i,ed0i'e(C)), (C))! QPushButton */uit B ne+ QPushButton(tr("0alir"), this)! /uitD>set;eometrA(EC, F), 12, *))! /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))!
5C+; creamos y damos parmetros +n 'idget hi,o de ste 'idget( es decir( e padre es a instancia de *y-idg#t! La %+nci1n trFD marca a cadena para s+ trad+cci1n( haciendo posi4 e cam4iar a en tiempo de e,ec+ci1n 4asndose en os contenidos de archi7o #include <QApplication> de trad+cci1n! ?s +na 4+ena idea marcar de sta manera a toda cadena C+e #include <Q.ont> 7 e +s+ario! #include <QPushButton> Notar C+e &uit es +na 7aria4 e oca en e constr+ctor! *y-idg#t no sig+e e #include <Q?idget> rastro de e a( #t o hace( y a 4orrar a+tomticamente c+ando a instancia de o4,eto *y-idg#t sea 4orrada! Por sto es C+e *y-idg#t no necesita +n class @A?idget 5 pu7lic Q?idget destr+ctor! Por otro ado( no oc+rre daLo a g+no si +no decide 4orrar +n hi,o( ya C+e pu7lic5 ste e a7isar a+tomticamente a #t de s+ m+erte inminente! @A?idget(Q?idget *parent B ))!
-!
@A?idget55@A?idget(Q?idget *parent) 5 Q?idget(parent) set.i,ed0i'e(C)), (C))! QPushButton */uit B ne+ QPushButton(tr("0alir"), this)! /uitD>set;eometrA(EC, F), 12, *))! /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))!
Introduccin al desarrollo
#include #include #include #include <QApplication> <Q.ont> <QPushButton> <Q?idget>
multiplataforma con Qt 4
class @A?idget 5 pu7lic Q?idget pu7lic5 @A?idget(Q?idget *parent B ))! -! @A?idget55@A?idget(Q?idget *parent) 5 Q?idget(parent) set.i,ed0i'e(C)), (C))! QPushButton */uit B ne+ QPushButton(tr("0alir"), this)! /uitD>set;eometrA(EC, F), 12, *))! /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))!
La amada a Q-idg#t$$s#t/#om#try ! setea tanto a posici1n de 'idget en a panta a como e tamaLo! ?s eC+i7a ente a amar a Lisandro Damin ! Nicanor Prez Septiembre 2007 Q-idg#t$$mov# seg+ido deMeyer Q-idg#t$$r#si0# !!
Introduccin al desarrollo
#include #include #include #include <QApplication> <Q.ont> <QPushButton> <Q?idget>
multiplataforma con Qt 4
class @A?idget 5 pu7lic Q?idget pu7lic5 @A?idget(Q?idget *parent B ))! ? p+ntero &App es +na 7aria4 e oca dec arada en e enca4ezado de -!
class @A?idget 5 pu7lic Q?idget pu7lic5 @A?idget(Q?idget *parent B ))! -! De%inimos n+estra c ase como hemos 7isto antes( y agregamos +nos n+e7os enca4ezados!
Lisandro Damin Nicanor Prez Meyer Septiembre 2007
lcd es +n Q3"45um,#r ( +n 'idget C+e m+estra nJmeros em+ ando a +n connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))! disp ay LCD! 3sta instancia se con%ig+r1 para C+e m+estre dos d;gitos! connect(slider, 0:;<A=(valueHhanged(int)), lcd, 0=63(displaA(int)))! Con%ig+ramos a propiedad Q3"45um,#r$$s#gm#nt6tyl# a
QGBo,=aAout *laAout B ne+ QGBo,=aAout! laAoutD>add?idget(/uit)! laAoutD>add?idget(lcd)! laAoutD>add?idget(slider)! set=aAout(laAout)!
Introduccin al desarrollo
5C+; +samos e mecanismo de signa s y s ots para conectar a seLa valu#"hang#d ! de s ider a s ot display ! de LCD! @A?idget55@A?idget(Q?idget Cada 7ez C+e e s ider*parent) cam4ie de 7a or( com+nica e n+e7o 7a or 5 Q?idget(parent) emitiendo a seLa valu#"hang#d !! De4ido a C+e dicha seLa est conectada a a s ot !( e mismo es amado c+ando se emite a QPushButton */uit B display ne+ QPushButton(tr("Quit"))! seLa ! Ning+no de os dos o4,etos sa4e so4re e otro( o C+e es esencia /uitD>set.ont(Q.ont("3imes", (4, Q.ont55Bold))! en a programaci1n orientada a componentes! Q=HI<um7er Los s ots son *lcd %+nciones B ne+ Q=HI<um7er(C)! norma es de CBB para todo otro +so( y sig+en lcdD>set0egment0tAle(Q=HI<um7er55.illed)! as normas de acceso norma de CBB!
Q0lider *slider B ne+ Q0lider(Qt55$ori'ontal)! sliderD>setJange(), KK)! sliderD>setGalue())! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))! connect(slider, 0:;<A=(valueHhanged(int)), lcd, 0=63(displaA(int)))! QGBo,=aAout *laAout B ne+ QGBo,=aAout! laAoutD>add?idget(/uit)! laAoutD>add?idget(lcd)! laAoutD>add?idget(slider)! set=aAout(laAout)! Lisandro Damin Nicanor Prez Meyer Septiembre 2007
multiplataforma con Qt 4
agregamos os 'idgets &uit( lcd y slid#r a ayo+t +sando !! Q=HI<um7er *lcd B ne+ QBo%3ayout$$add-idg#t Q=HI<um7er(C)! La %+nci1n Q-idg#t$$s#t3ayout ! insta a e ayo+t en *y-idg#t( lcdD>set0egment0tAle(Q=HI<um7er55.illed)! con7irtiendo a ayo+t y a todos s+s componentes en s+s hi,os( por o Q0lider *slider B ne+ Q0lider(Qt55$ori'ontal)! C+e no de4emos preoc+parnos por destr+ir os! ?s por sto C+e no sliderD>setJange(), KK)! especi%icamos e padre a &uit( lcd y slid#r!
sliderD>setGalue())! connect(/uit, 0:;<A=(clic>ed()), /App, 0=63(/uit()))! connect(slider, 0:;<A=(valueHhanged(int)), lcd, 0=63(displaA(int)))! QGBo,=aAout *laAout B ne+ QGBo,=aAout! laAoutD>add?idget(/uit)! laAoutD>add?idget(lcd)! laAoutD>add?idget(slider)! set=aAout(laAout)! Lisandro Damin Nicanor Prez Meyer Septiembre 2007
Hasta e momento est+7imos 7iendo ap icaciones senci as( pero C+e c+4ren parte de as caracter;sticas mas importantes de #t! Peamos otros e,emp os!!!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp o mas de t+toria ( sta 7ez haciendo mas hincapi en a QmagiaR de os signa s y s ots!
)n e,emp ito C+e hace +so de Epen=L( cortes;a de a gente de #5ntenna Fentre as C+e se enc+entra 7+estro ser7idor S6D D
Lisandro Damin Nicanor Prez Meyer Septiembre 2007
TPreg+ntasU
G=raciasI