QML1-vs-QML2
		
		
		
		
		
		Jump to navigation
		Jump to search
		
		
	
| This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.  | 
QtQuick 1 vs QtQuick
work in progress
The idea of this wiki page is to have a "some how" porting guide for customers, having a Qt 4.8/QtQuick 1 application, to get a Qt5/QtQuick 2 application. The focus is on the QML part, not the c++ part. What are new elements, which elements are deprecated, what needs to be changed.
ideas from Girish:
- The change in javascript engines.
 - What's changed in the js syntax in QML2 (if any)
 - C++ api changes - like how does we create items these days? How is it different from QML1
 - Dependency on GLES2 unlike QML1
 
For porting an existing QtQuick 1 application to QtQuick 2 and make use of new features of QtQuick 2, there are some changes in the QML files necessary, which are listed below.
| QtQuick 1 | QtQuick 2 | 
|---|---|
| import QtQuick 1.0 | import QtQuick 2.0 | 
| import Qt.labs.particles 1.0 | import QtQuick.Particles 2.0 | 
| import Qt.labs.shaders 1.0 | import QtQuick 2.0 | 
| import QtQuick 1.0 | import QtQuick.XmlListModel 2.0 | 
| import QtMobility.location 1.2 | import QtLocation 5.0 | 
| import QtMobility.sensors 1.3 | import QtSensors 5.0 | 
| import QtMobility.systeminfo 1.1 | import QtSystemInfo 5.0 | 
| import QtMultimediaKit 1.1 | import QtMultimedia 5.0 | 
| ./qmlviewer | ./qmlscene | 
For a more detailed list of changes in QtQuick 2, see What's New in Qt Quick 2
See also the Qt documentation's porting guide
A description, how to port your Qt 4.x application to Qt 5 is here
New QML elements in QtQuick2:
- Particles A new Particle system
 - ShaderEffect - A new Shader effects system
 - Canvas - Provides a 2D canvas element
 - CanvasGradient - Context2D opaque CanvasGradient interface
 - Context2D - The Context2D API allows you to draw 2d graphic shapes on the Canvas item.
 - TextMetrics - Context2D TextMetrics interface
 - MultiPointTouchArea - Enables handling of multiple touch points
 - TouchPoint - The TouchPoint element describes a touch point in a MultiPointTouchArea
 - PathAnimation - Animates position along a path
 - PathInterpolator - Allows manual animation along a path
 - AnimationController - Allows manual control of animation progress
 - PathArc - Defines an arc in a Path
 - PathCurve - Defines a point on a Catmull-Rom curve in a Path
 - PathSvg - Defines a sub-path specified as a SVG path data string in a Path
 - Accessible - Attached property to make components accessible
 - AnimatedSprite - The AnimatedSprite element draws a sprite animation
 - Sprite - The Sprite element represents a sprite animation
 - SpriteSequence - The SpriteSequence element draws a sprite animation
 - DragEvent - The DragEvent object provides information about a drag event.
 - DropArea - The DropArea item provides drag and drop handling.
 
QML element not available in QtQuick 2 anymore: