<<

AnAn IntroductionIntroduction toto QtQt 44

Jason Trent [email protected] OOuutltliinnee

. Why Trolltech? . Why ? . Qt 4 Widgets, Datatypes, and Structures . Qt Designer . . Qt without ++ . 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, 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 . 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, qqmmaakkee

.. OOnnee pprroojjeecctt ffoorrmmaatt ttoo rruullee tthheemm aallll .. MMaaiinnttaaiinn ..pprroo pprroojjeecctt ffiillee – Automatically create target project • Makefile • • Visual Studio TEMPLATE = app INCLUDEPATH += . QT += core gui network images/logo.png TARGET = iBoard images/logo_mask.bmp images/save.png # Input images/clear.png HEADERS += .h \ images/pencil.png netconnect.h \ images/pencil_mask.bmp scMakefileribble.h images/eraser.png images/eraser_mask.bmp FORMS += staXCodertup4.ui Project (. x codeprojimages/)fill.png images/fill_mask.bmp SOURCES += caVisualnvas.cpp \Studio (.v cproj )images/print.png netconnect.cpp \ scribble.cpp \ main.cpp

RESOURCES = iBoard.qrc qqmmaakkee CCoommmmaanndd LLiinnee OOpptitioonnss

.. --pprroojjeecctt – Auto-generate .pro file based on folder contents .. --ssppeecc [[mmaakkeessppeecc]] – Build the project or file based on the make specification • -g++, macx-xcode, win32-, … 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.