InfoQ Homepage News In Case You Missed It: Qt 5.0

In Case You Missed It: Qt 5.0


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

We need your feedback

How might we improve InfoQ for you

Thank you for being an InfoQ reader.

Each year, we seek feedback from our readers to help us improve InfoQ. Would you mind spending 2 minutes to share your feedback in our short survey? Your feedback will directly help us continually evolve how we support you.

Take the Survey

Rate this Article


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.

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

Community comments

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

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


Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.