Qt: A Cross-Platform
Application and UI Framework
Tasuku Suzuki
Qt Engineer, Nokia
Who Am I?
[Link]
● Tasuku Suzuki
● Qt Engineer, Nokia Japan
– [Link]
– [Link]
● Qt user since 2002
● Joined Trolltech in 2006
● Nokia since 2008
© 2012 Nokia
Agenda
● Qt
● Qt / C++
● Qt / Quick
● Qt 5
● Qt Project
● Q&A
© 2012 Nokia
What is Qt?
[Link]
● Application and UI Framework
● C++ Class Libraries
● Qt Quick for rapid UI creation
● Qt Creator IDE
● Cross Platform
Desktop, Embedded and Mobile
●
● Open Source Project
© 2012 Nokia
Cross Platform
Linux/X11
Linux/X11 Windows
Windows Mac
Mac OS
OS X
X
Linux/QWS
Linux/QWS Windows
Windows CE
CE T-Kernel
T-Kernel
INTEGRITY
INTEGRITY QNX
QNX vxWorks
vxWorks
MeeGo
MeeGo Symbian
Symbian iOS
iOS
Android
Android BlackBerry
BlackBerry etc
etc
© 2012 Nokia
Modular Class Library
[Link]
Unit
Unit test
test
Widgets(UI)
Widgets(UI) Qt
Qt Quick(UI)
Quick(UI)
Multimedia
Multimedia WebKit
WebKit Scripting
Scripting
Network
Network Database
Database XML
XML
Core
Core
© 2012 Nokia
User Interface
● Widgets
● C++ (with UI Designer)
● for Desktop applications
● Qt Quick
● QML
● for Embedded and Mobile UIs
© 2012 Nokia
Getting Started!
[Link]
● Download and Install Qt SDK
● Qt v4.8, Qt Creator (IDE) and
more
© 2012 Nokia
Widgets/C++
[Link]
● Traditional way to build UI
● Large scale application w/ static UIs
#include <QApplication>
#include <QLabel>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QLabel label(”Hello World”);
[Link]();
return [Link]();
}
© 2012 Nokia
Qt Quick/QML
[Link]
● Rapid UI creation
● for touch based fluid UIs
import QtQuick 1.1
Rectangle {
width: 200
height: 200
Text {
text: "Hello World"
[Link]: parent
}
}
© 2012 Nokia
Qt Everywhere
[Link]
● KDE SC
● Ubuntu Unity 2D
● VLC
© 2012 Nokia
Qt Everywhere
[Link]
● Google Earth
● Skype for Linux
● etc
© 2012 Nokia
Qt Everywhere
[Link]
● Home media
● IP Communication
● Automotive
● e-reader
● Refrigerator
● Coffee machine
© 2012 Nokia
Qt Everywhere
[Link]
[Link]/Qt4iOS
© 2012 Nokia
Qt Everywhere
“Over 450,000 developers in more than 70
industries have chosen Qt to build
advanced applications and devices.”
[Link]
© 2012 Nokia
5
Qt History
[Link]
1996: Qt 1
1999: Qt 2
2001: Qt 3
2005: Qt 4
2011: Qt 4.8
2012: Qt 5
● Adapt to a world that has changed
© 2012 Nokia
Qt 5 goals
[Link]
● Competitive in multiple devices
● State-of-the-art user interfaces
● Modular libraries & repositories
● Small footprint
● Qt 4.x source compatibility
© 2012 Nokia
What is new in Qt 5
[Link]
• Code reorg: essential modules
+ add-ons
• Qt Platform Abstraction layer
• New graphics stack
• Qt Quick 2
© 2012 Nokia
Essential Modules
[Link]
● QtCore ● QtJSBackend ● Qt3D
● QtNetwork ● QtQml ● QtMultimedia
● QtGui ● QtQuick ● QtWebKit
● QtSql
● QtTest
© 2012 Nokia
Add-On Modules
[Link]
● QtBluetooth ●
QtQuick1 ● QtWebKitWiedgets
● QtPim ●
QtScript ● QtWidgets
● QtScriptTools ● QtXml
● QtDBus
●
QtSensors
● QtXmlPatterns
● QtGraphicalEffects
● QtServiceFrame
● ActiveQt
● QtImageFormats work ● QtJsonDB
● QtOpenGL ● QtSvg ● Phonon
● QtOrganizer ●
QtSystemInfo ● QtQA
● QtPrintSupport ● QtTools
● QtLALR
QtVersit
● QtRepoTools
Qt Publish and
●
●
Subscribe
● QtTranslations
● QtWayland
© 2012 Nokia
Qt 5 Status & Plans
[Link]
● Alpha released on April 3
● Alpha2
● Beta1 expected in June
● Qt Contributors Summit on June 21 - 23
● Beta2 in beginning of August?
● Final in mid to end of August
© 2012 Nokia
Qt Project
[Link]
Open Development
Open Governance
© 2012 Nokia
Long story short
[Link]
● 1991?: FreeQt
● 1998: Free Qt Foundation
● 1999: QPL (OSI approved)
● 2000: GPL added (Linux)
● 2005: GPL added (Windows)
● 2008: Nokia acquires Trolltech
● 2009: LGPL added
● 2010: Qt Open Governance plan started
● 2011: Qt Commercial sold to Digia
● 2011: Qt Project is here!
© 2012 Nokia
Qt Project
[Link]
●
NPO that hosts the code base
●
git repository, gerrit, CI, JIRA, ML, Wiki etc...
●
Four principles
Fair
Fair Transparent
Transparent
Inclusive
Inclusive Meritocratic
Meritocratic
© 2012 Nokia
Qt Project Roles
[Link]
© 2012 Nokia
Qt and
● Nokia is a main contributor in Qt Project
* Qt Contributors Summit Sponsors
[Link]
© 2012 Nokia
Follow us! Join us!
2012 is gonna be fun
[Link]
© 2012 Nokia