Declarative UI is one of the big things on the Qt Roadmap for Qt 4.7 and 4.6.x. I already enjoyed working with the Qml language and the developers behind it for quite some time - and believe me, this one will fundamentally change the way slick Qt UIs are designed and look like! If you […]
DeclarativeUI
From Qt Labs
| Declarative UI | |||
| |||
| Platforms: | All | ||
| Qt version: | kinetic-declarativeui | ||
| License: | LGPL | ||
| Depends on: | None | ||
Declarative UI blogs | |||
Git Clone URL:
| |||
Browse Git Repository:
| |||
[edit] Declarative UI
[edit]
Declarative UI is a way of making fluid user interfaces by describing them in terms of simple elements (Text, Image, Rect,and other QObjects) that are built up into components. The reason it is "declarative" is that rather than the changes in the UI being expressed as imperative code, they are instead expressed as sets of QObject property expressions, grouped into states. The fluid part comes from animated transitions between the sets of properties. Combined with Qt's signals and slots, a little bit of script for the tricky parts, and a rich collection of fluid UI elements, the result is a very powerful technology for making very cool looking UIs that are enjoyable to use.
The Qt Declarative UI language is named QML. It is a simple language that describes a tree of objects and their properties.
import Qt 4.6
Rectangle {
width: 200
height: 200
color: "white"
Text {
text: "Hello World"
anchors.centerIn: parent
}
}
The power is that those property values can be any JavaScript expression - and because it's a binding rather than just an assignment, the expressions are re-evaluated whenever their dependencies change.
You can get the latest source package snapshot here: Declarative UI tarball
There's also QML aware Qt Creator binaries
Videos of Qt Declarative UI in action
[edit]
[edit] Latest 5 Declarative UI Blogs
Recently, Qt Declarative for Qt 4.6.0 got released. We got a lot of requests for Maemo 5 support (well - some people just wanted to play the SameGame on their N900 ). And voilĂ - declarative hit Maemo’s extras-devel repository. Obligatory screenshot:
Currently, the following packages are available:
libqt4-maemo5-declarative: The QtDeclarative library
libqt4-maemo5-declarative-dev: The development package, contains […]
At the Munich DevDays we got a lot of questions about QML - first among them was where to download it. To celebrate DevDays in San Francisco we are releasing binary snapshots that you can download now for Windows, Mac and Linux.
For those of you who couldn’t attend DevDays, QML helps you create exciting […]
Something we’ve been trying out recently with Qt Declarative UI is a Plasma integration. A characteristic of plasmoids is that they tend to have their own unique UI design. Integration of Declarative UI with Plasma has the potential to make it much easier to design such plasmoids. There is also the potential to help make […]
A few weeks ago, the LinuxTag 2009 took place in Berlin. Of course some of us Trolls went there to present Qt. We ran a little booth where we had the possibility to talk to many Qt users (and future Qt users).
But that was not all. Some Trolls gave talks about very interesting topics. And […]
