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

“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

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis