BT

New Early adopter or innovator? InfoQ has been working on some new features for you. Learn more

In Case You Missed It: Qt 5.0

| by Jonathan Allen on Feb 07, 2013. Estimated reading time: 1 minute |

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”.

Rate this Article

Adoption Stage
Style

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

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and dont miss out on content that matters to you

BT