BT

In Case You Missed It: Qt 5.0

by Jonathan Allen on Feb 07, 2013 |

Qt is a framework used by mainly by C++ developers for build user interfaces. While available for many platforms, it is most widely known for its role in Nokia's Symbian OS for phones. Originally created by Trolltech in 1994, Nokia purchased the technology in 2006. When they decided to drop the Symbian line, Nokia sold Qt to its current owner, Digia. Currently there are Qt bindings available for 18 languages including C#, Java, Python, PHP, and Ruby.

A major change in the Qt 5 is the introduction of Qt Quick 2. The Qt Quick module is the base library upon which QML based applications are created. Before we get into Qt Quick, we should discuss QML itself.

QML is a declarative language that resembles CSS. It serves the same role as XAML or AXML, but with some added benefits. For example, JavaScript expressions can be used directly for property binding.

Like XAML, it has the concept of a state manager that can override visual properties. Each state has a name and a PropertyChanges section that serves as a style to be applied. The state of the control itself is exposed as a property.Animations are also supported. Animations can be chained together and support the usual features such as easing when adjusting values.

Qt Quick 2 offers several new features including,

  • Canvas for drawing. Canvas provides an API that is similar to the HTML5 Canvas API, along with some additional features.
  • Shader Effects which enable GLSL shader programs to be integrated directly into QML code and applied to items and images.
  • Particle Effects for creating a variety of 2D particle systems.
  • Sprites can be used in animating 2D graphical objects and as a source for particle systems.
  • Offline storage is a HTML5 Web Database API conformant JavaScript API for storing data in Qt Quick applications.
  • Window provides a top-level window and the Screen type for accessing a screen's resolution and other details. This is useful for desktop applications developed using Qt Quick.
  • New rendering architecture based on OpenGL for optimal performance.

Webpages can be embedded inside Qt applications using Qt WebKit. As the name implies, this is based on the popular Webkit project and supports HTML 5 features such as “CSS filters and animations and Video, Canvas and WebGL, Canvas support and HTML video”.

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT