AnAn IntroductionIntroduction toto QtQt 44
Jason Trent [email protected] OOuutltliinnee
. Why Trolltech? . Why Qt? . Qt 4 Widgets, Datatypes, and Structures . Qt Designer . qmake . Qt without C++ . Demo WWhhyy TTrroolllltetecchh??
.. QQtt aanndd QQttooppiiaa CCoorree aarree OOppeenn SSoouurrccee .. SSuuppppoorrtteedd bbyy mmuullttii--mmiilllliioonn ddoollllaarr ccoommppaannyy WWhhyy QQt?t?
.. MMuullttii--ppllaattffoorrmm – No “virtual machines” or emulation layers – Native compilation for Windows, X11, and Mac • Utilizes core OS technologies (Core, Aero, …) – Extensions - ActiveQt, Motif Migration WWhhyy QQt?t? Over 400 C++ Classes . Not just a GUI toolkit – File handling – Networking – Process handling – Threading – Database access – Event loop processing – XML processing – OpenGL integration – and beyond WWhhyy QQt?t?
.. IInntteerrnnaattiioonnaalliizzaattiioonn – Built in support for Unicode and Translation • Language and font aware layouts • Bidirectional font support • Mixed-international interface .. SSeeee QQtt LLiinngguuiisstt ffoorr mmoorree WWhhyy QQt?t?
.. NNoott jjuusstt mmuuttllii--ppllaattiiffoorrmm,, mmuullttii--aarrcchhiitteeccttuurree .. QQttooppiiaa CCoorree 44 SSeerriieess – Support for embedded devices • Cell phones, PDAs, etc… – Supports Qt4 widgets with little to no code change QQWWiiddggeett
TThhee mmeeeekk mmaayy iinnhheerriitt tthhee eeaarrtthh…… ……bbuutt tthhee eeaarrtthh sshhaallll iinnhheerriitt QQWWiiddggeett
QWidget QQtt 44 WWiiddggeetsts
.. IInnhheerriitt tthhee aallll--ppoowweerrffuull QQWWiiddggeett .. IInncclluuddee:: – QLabel – QPushButton – QTextBox – QDialog – QFileDialog – Many, many more SSiiggnnaallss aanndd SSllootsts
.. PPrroovviiddee ccoommmmuunniiccaattiioonn bbeettwweeeenn oobbjjeeccttss .. AA ssiiggnnaall iiss eemmiitttteedd aanndd sslloottss rreeaacctt .. GGeetttteerrss aanndd SSeetttteerrss .. FFuunnccttiioonnss QQtt 44 DDaatatatytyppeess && SStrtruucctuturreess
.. AAddvvaanncceedd ddaattaattyyppeess – QString – QDataStream .. SSttrruuccttuurreess – QList – QVector – QMap QQtt DDeessiiggnneerr
. Powerful stand-alone interface builder . Ability to integrate into IDEs – Kdevelop, Visual Studio, … . Ability to preview on target platforms – Windows, Windows XP, Mac, Plastique, CDE, and Motif . Extensive layout system – Auto-scaling, font-aware layouts – Dynamically adjust layout for font size, direction, display size, language, operating system qqmmaakkee
.. OOnnee pprroojjeecctt ffoorrmmaatt ttoo rruullee tthheemm aallll .. MMaaiinnttaaiinn ..pprroo pprroojjeecctt ffiillee – Automatically create target project • Makefile • XCode • Visual Studio TEMPLATE = app
RESOURCES = iBoard.qrc qqmmaakkee CCoommmmaanndd LLiinnee OOpptitioonnss
.. --pprroojjeecctt – Auto-generate .pro file based on folder contents .. --ssppeecc [[mmaakkeessppeecc]] – Build the project or make file based on the make specification • linux-g++, macx-xcode, win32-mingw, … DemoDemo OOththeerr IteItemmss ooff InInteterreesstt
.. PPyyQQtt -- QQtt eexxtteennssiioonnss ffoorr PPyytthhoonn .. PPeerrllQQtt -- QQtt eexxtteennssiioonnss ffoorr PPeerrll .. QQtt//JJaavvaa -- TTrroolllltteecchh ssuuppppoorrtteedd JJaavvaa eexxtteennssiioonnss – Coming Q1 2006 RReefeferreenncceess
. Trolltech www.trolltech.com . Qt Forum www.qtforum.org . The Qt4 Resource Center qt4.digitalfanatics.org . Qt Centre www.qtcentre.org . C++ GUI Programming in Qt 3 www.phptr.com/perens
. Slide format and many images from Trolltech Code Less. Create More.