Harald Fernengel
Qt
 in Qt
 on Monday, March 23, 2009 @ 10:52

You may have already seen our Embedded Widgets Demo. We got a lot of good feedback, including lots of requests for the source code. Therefore, I’m happy to announce that the sources are now available.

Within the project you will find a collection of industrial style widgets - mainly for touch screen interaction. In addition there are two example applications (Patient Care and Catalog), which serve as a showcase for these widgets. Here’s a video featuring our lovely Carol:

The emphasis of this demo is on SVG and CSS use and how both these techniques can be combined to build an easy to use, industrial looking
user interface. The target audience for such a UI would for example be an operator in a factory, who is used to physical knobs and turning dials.

Although this demo is mainly targeted at and tested for our embedded platforms (Embedded Linux, Windows CE), it also runs fine on X11 (for example on the N810 with the Qt/Hildon integration), and even on a Mac OS X or Windows desktop.

The heavy use of SVGs paired with transformations, gradients, anti-aliasing and other effects comes with a cost, though: for Qt for Embedded Linux, we suggest to use the configure switch -D QT_COORD_TYPE=double, which will increase the rendering quality.

14 Responses to “Embedded Widgets source code released”

» Posted by Ben
 on Monday, March 23, 2009 @ 11:41

Slightly offtopic, but what’s the (lo, hi) “range select” slider shown in the demo? Is that a custom widget or a standard Qt one?

» Posted by Robert
 on Monday, March 23, 2009 @ 13:37

@Ben: it’s on of the custom widgets included in the demo. See src/multislider

» Posted by Nikolaus
 on Monday, March 23, 2009 @ 13:44

Yihaa!!! I’ve been desperately waiting for that ;-)
Thx a ton!

» Posted by David
 on Monday, March 23, 2009 @ 15:06

Looks interesting!

Is was wondering, why do some widgets have Qt as prescript, while others have just a Q?

» Posted by Adam Higerd
 on Monday, March 23, 2009 @ 15:37

Widgets starting with just Q are part of the core Qt libraries. Widgets starting with Qt are custom classes written by Qt Software, for instance as part of a demo or a Qt Solution package.

» Posted by Matthias Pospiech
 on Monday, March 23, 2009 @ 16:51

What kind of plot class are you using. Is it something like a qwtplot derived one or an own implementation of Qt Software?

» Posted by JoeS
 on Monday, March 23, 2009 @ 19:14

Harald,
Is there someway to take this package and make it usable directly in QTCreator or QTDesigner?

Thanks,
Joe

» Posted by Dutch
 on Monday, March 23, 2009 @ 20:18

What would be the best way to get these widgets accelerated with OpenGL?

» Posted by kiotv
 on Tuesday, March 24, 2009 @ 14:20

I can’t compile it .
The error message :
In file included from ../../src/basicgraph/qtbasicgraph.cpp:9:
../../src/basicgraph/qtbasicgraph.h:13:17: QtGui: No such file or directory

but Qt path is sedate

» Posted by andre
 on Tuesday, March 24, 2009 @ 15:15

on mac os x the patient care ui is broken.

» Posted by Philippe
 on Tuesday, March 24, 2009 @ 17:40

Build/Works perfect here with VC++ :-)
Is there some good SVG editor/generator under Windows? (even commercial ones)

» Posted by Timmmm
 on Wednesday, March 25, 2009 @ 00:05

I know this is just a demo but I’ve got to say this is a pretty silly thing to say: “The target audience for such a UI would for example be an operator in a factory, who is used to physical knobs and turning dials.”

It is a mistake to copy the physical interface of knobs and dials just to make it familiar. It would be much better to make the widgets as usable as possible on a touch screen (as done excellently by Apple). To get specific:

1. The scrollwheel thing should be horizontal (that is the biggest screen dimension) and allow scrolling off the end of the widget.
2. The dual slider things look way to small to use easily. An idea might be to have big tabs that come off the sliders to the side. This would also let you see the sliders while you are moving them.
3. The buttons are too small and close together.
4. The scrollbars on the left are too small.

Copying physical designs is just going to end up in really irritating interfaces.

I like the range slider idea btw, would be nice to get one in Qt proper.

» Posted by Adam Higerd
 on Wednesday, March 25, 2009 @ 15:14

We’ve got a range slider in Qxt >.> although it’s got a known rendering bug on Mac that we can’t figure out.

» Posted by Ben Schleimer
 on Thursday, March 26, 2009 @ 08:18

Cute demo but theres several problems:
1) using doubles and SVG on an embedded arm chip “are you nuts??” The last chip I worked on was the ARM926EJ and no way was management going to install a fp coprocessor. no way. In a way, running qt4.2 with strictly QPixmaps and QLayout made the most sense because everything is int.
2) Its bad to have widgets which require dragging on touchscreens. It inaccurate and will scratch the screen more then tapping.
I was expressly forbidden to design any of our widgets like that.

I do have to say, thats a nice graph widget. Very smooth.



© 2008 Nokia Corporation and/or its subsidiaries. Nokia, Qt and their respective logos are trademarks of Nokia Corporation in Finland and/or other countries worldwide.
All other trademarks are property of their respective owners.