1. Qt 4.7: Qt Quick
Alexander Trufanov
Senior Technical Consultant
Forum Nokia
September 18, 2010
2. What is Qt?
β’ Qt (βcuteβ) is a cross-platform C++ application development framework
β Set of cross-platform APIs and cross-platform GUI framework
β C++ class library
β Development tools
β’ Qt was originally designed for efficient creation of platform-independent
desktop GUI programs
β’ Developed by a Norwegian company called Trolltech, which has been part of
Nokia since 2008
β’ Latest version is 4.6.3 (under development 4.7 RC)
3. Qt Architecture
β’ Qt uses native styles to draw UI
β UI elements have original
look & feel
β Can be adapted by the developer
β’ Built on low level APIs of platform
β No runtime!
β’ Cross-platform
β Single source for multiple platforms
β Only requires recompilation
4. Qt Licensing
β’ LGPL license
β’ Qt is completely free!
β Unlike GPL, the LGPL:
β’ Allows using Qt for free in commercial, closed source apps
β Complete development source code of Qt available
β’ Commercial version
β Code changes to Qt source code donβt have to be shared
β Included support options
5. Platforms Windows
Mac OS
Linux / X11
C++ Embedded Linux
Windows CE
Maemo / MeeGo
Java Symbian (S60)
Python
Ada
Pascal Maintained by
Perl Qt open source community.
PHP Not officially supported by Qt Development Frameworks.
6.
7. Symbian and Qt
β’ Qt for Symbian:
β Compatible to S60 3rd. Edition, FP1+ (for example Nokia N95, E71)
β Install SDK for your device, or lowest denominator for devices you want
to support with your product
β’ Info about system version of Nokia S60 devices:
http://www.forum.nokia.com/devices/
Series 60 Series 60 S60 S60 S60 S60 Symbian^3 Symbian^4
1st Ed. 2nd Ed. 3rd Ed. 3rd Ed. 3rd
Ed. 5th Ed.
(+ 3 FPs) FP1 FP2 =
Symbian^1
8. Maemo / MeeGo and Qt
β’ Maemo 5
β GTK+ based UI
β Qt pre-installed
β Final Qt support: H1 2010 (4.6.2)
β’ MeeGo 1.0 N (formerly: Maemo 6)
β Qt replaces GTK+
β Multi-touch, gestures support
β GTK and Clutter will stay in MeeGo
9. ο§ Simple installation
ο§ Qt Creator in nutshell
ο§ From the scratch to devices in
5min.
ο§ Simulator
ο§ On-device-debugging
ο§ Remote Compiler
11. Advantages of Hybrid Applications
HTML, CSS, C++
JavaScript Full device access
Rapid development Powerful libraries
Broad reach
http://qt.nokia.com/forms/whitepapers/reg-whitepaper-hybrid
12. Qt Quick (Qt User Interface Creation Kit)
β’ Create UIs as a designer
β Without C++ knowledge
β Using visual tools
β Module: Declarative UI
β Based on QML language
(extension to JavaScript)
β Supported in Qt 4.7
http://blog.qt.nokia.com/2010/02/15/meet-qt-quick/
13. QML
β’ Describe UI by tree structure of property bindings
β Properties dynamically evaluated
β Communication through
Rectangle{
signals & slots width: 200
height: 200
β Bindings to C++ code possible
color: "white"
β Animate properties using states Image {
source: "pics/logo.png"
and transitions anchors.centerIn: parent
}
}