development of simple GUI application

I would like to develop some simple GUI application with the beagelboard(C/C++).
I read something about the QT software toolkit.
Did someone can elaborate if the QT is suitable for me ? Where i can download the kit?
Please let me know .Thanks.Tuvia

hi, Tuvia

you need qt-embedded source package, cross compile it.

to get qt-embedded:

any detail infomation, please google qte.


Qt is already supported in OpenEmbedded. Develop and test your app on
a PC using the Qt SDK, and the create a recipe to build it for your
embedded application:


and if you want a web based UI you may also want to look at the Wt aka
Witty toolkit.

Have fun, Frans

Hi Clif,

I would like to try it as well, but rebuilding the whole system to
include QT is above my current level.
Is there a package or another way of installing it on existing
Angstrom distribution on beagleboard?


opkg install qt4-embedded


You will not need to build the whole Angstrom distribution to include Qt. Please check the thread below which explains building Qt-e



Thanks for the answers and link.
As you left me confused, I will investigate it further.



Is it a good advise to install the QT on Linux machine(PC platform)
and to develop the application with the QT ?
Or shall i install the QT on windows machine ?
Kindly let me know. thanks.Tuvia

QT is really bloated. Can’t you use GTK or wxWidgets? wxWidgets outputs to GTK, so either way GTK is used. Most Linux distro’s use GTK for the GUI frontend, so you’ll be using what already comes with your Linux (though I couldn’t be sure about Angstrom as I haven’t used it). What’s more, wxWidgets/GTK is really easy to use, fast, lightweight and heavily documented.


    You have to build Qt with respect to the target architecture. If
you want to build Qt apps for Beagleboard with a linux running on, you
need to build Qt on this platform, or on somwhere else but again for
this platform. For the second case, you can use openembedded cross
compiler. First, you can get openembedded an install it on the machine
that you'll use as the development environment, then you can build Qt
of the version you like.
For building openembedded follow this:ångström
For building Qt 4 on openembedded, Cliff's great guide given recently
in this thread.
   And, embedded version of Qt is not necessary, I used Qt4's X11
version as well.


Hi Caner,

Please share your experience of running Qt4 with X11 backend on beagle
board as you have mentioned.
Did you try running Qt embedded version too? In that case what is the
performance you get while running Qt with X11 as compared to running
it with QWS?

Thanks for your concern.
Amit Pundir

Hi Amit,
   Sorry for the late answer. Here's what I did. First I followed
Cliff's guide which teaches how to run a qt4-embedded app. I
downloaded the demo app of the guide, compiled it and obtained a
package using openembedded. I installed it in BeagleBoard, it required
qt4-embedded. There's a trick here. In openembedded, qt4-embedded's
version is 4.4.3, while opkg's repository has the version 4.4.1. We
need to remove some of the default packages and import the required
ones from openembedded (for Cliff's app those are libqtcoree,
libqtguie and libqtnetworke). Finally, it worked. The final problem is
that, it conflicted with X server. I mean I got a full screen Qt
application, but when I click mouse botton, some frame pieces of
desktop intervened the screen. So we had to stop the X server. I
started the angstrom in runlevel 3. Then the Qt application worked
flawless. Maybe it is a very basic knowledge about qt embedded and
frame buffer, however I didn't know that.
   Next, I tried to run the same demo application with Qt4-X11. If you
check Cliff's guide, the bb file contains the line `inherit qt4e´.
Recompiling and building the Qt4-X11 version of the same code is just
a matter of modifying this line to `inherit qt4x11´. This time, it got
compiled with Qt4-X11 library. I installed the required Qt4-X11
components also. I guess I did the same trick for the version problem,
sorry I'm not sure, I tried a lot of way. The application runs in a
desktop window this time. I could not distinguish a performance
difference at this stage. Note that I only tried a demo application
which is a 2D artillary game. Some tough Qt applications may be used
to benchmark these two libraries. As far as I see, Qt4-X11 works OK.
And Qt4-embedded is fine when Xserver is stopped.
   Now I'm trying to do the same thing with Qt3-X11 and Qt3-embedded.
However, I couldn't make a progress up to now. I would be very glad if
somebody leads me to a guide about qt3 on openembedded or gives me
some hints at least.



Dear Caner,

Did you have the chance to evaluate QT using SGX hw accelerator as
Can you share your experience?, e.g. did you find better performance
when playing the 2dpainting example?


Hi Yossi,
   Sorry for the late answer. No I did not evaluate Qt using SGX?
Actually, I don't know what it is, but I'll keep in mind, I'll make a
search about it and try in a spare time if possible.



SGX is the PowerVR SGX GPU, which is the hw accelerator of the beagle.
so the question is if you can share your experience of using the hw