Linux Today: Linux News On Internet Time.

Dr. Dobb's: Embedded Development with Qt/Embedded

Feb 15, 2002, 11:20 (0 Talkback[s])
(Other stories by Matthias Kalle Dalheimer, Steffen Hansen)
"When developing software for handheld computers such as the iPAQ, Palm, and Visor, you often face challenges that are at odds with each other. On one hand, users expect applications with resource-hungry GUIs that can be manipulated via stylus, virtual keyboard, and the like. On the other hand, you must contend with the space and processing constraints that are normal in the embedded world. In part due to issues such as these, Linux is increasingly becoming the preferred platform for embedded devices such as handheld computers. Not only is Linux resource friendly (and because these systems have little Flash and RAM, they need a resource- friendly solution) but it is also cost effective (there are no per-device royalties required when using Linux). In this article, we look at how you develop Linux-based applications for handheld devices using the Trolltech's C++ GUI Qt/Embedded toolkit (http://www.trolltech.com/), available for embedded devices under both the GPL and commercial licenses for UNIX/X11 and Linux.

What sets Qt/Embedded apart from other embedded toolkits is that it was not specifically developed for embedded devices. Instead, Qt/Embedded is a port of the Qt toolkit for UNIX/X11, Windows, and MacOS X. Consequently, you can leverage your experience in developing desktop applications when approaching embedded application development. You don't have to learn a new API, nor do you have to pick up new programming techniques. This isn't to say that you should simply port desktop applications to pocket computers. Clearly, handheld devices have some very different requirements in terms of screen size, drag-and-drop, and limited memory. Still, Qt and Qt/Embedded share the same basic API.

In theory, Qt/Embedded can run on any embedded device that runs Linux and that has a framebuffer. In practice, however, each new device requires some porting efforts. Among the devices that are supported out of the box are the Compaq iPAQ and HP Cassiopeia. With that in mind, we'll use the iPAQ as an example platform to illustrate Qt development for handhelds. Nevertheless, the techniques presented here apply to similar devices as well."

Complete Story