One of the decisions we need to take when building a UI for devices is what graphical libraries to use. With Open Source software, there is often more than one good option.

There are many factors based on which we decide the right graphical library for the application, some of them are:

  • Does the application need to run on Windows or MacOS or Linux or Android or all (cross platforms) ?

  • Does the application need dynamic effects and animations like iOS or Android?

  • Does the application need to run on CPU or GPU ?

  • Does the application need Internationalization support ?

  • Does the application need native look and feel ?

In this article, we’ll look at three cross-platform GUI toolkits.


GTK+(GIMP Toolkit) is a cross-platform widget toolkit for creating graphical user interfaces, mainly used environments GNOME, XFCE, LXDE, ABIWORD, GNUMERIC, ROX, etc; It can also be used on Windows, MacOS and mobile devices.

GTK+ is one of the most popular toolkits for the X Window System. This was initially created for the GNU Image Manipulation Program (GIMP), a raster graphics editor, in 1997 by Spencer Kimball and Peter Mattis, members of eXperimental Computing Facility (XCF) at University of California, Berkeley. This is used as the standard toolkit for the GNOME, LXDE and Xfce Desktop Environments.
GTK + has been created using the c language, with object orientation, but its design allows programming with languages such as C, C ++, C #, Java, Ruby, Perl, PHP or Python through bindings.
Qt is a multiplatform library (windows, mac, GNU / Linux, mobile, etc.) to develop graphical user interfaces and also without graphical interfaces for the console. Qt made with the C ++ programming language, it can additionally be used in several other programming languages through bindings (python, c #, net, ruby, Java, Ada, php, etc).

It works on all major platforms, and has broad support from both companies and research community. Qt not only allows you to create the graphical interface, but also offers an entire API of the library, with methods to access databases through SQL, as well as the use of XML, thread management, network support, file manipulation, etc.

WxWidgets is a C ++ library that allows developers to create applications for Windows, OS X, Linux and UNIX 32-bit and 64-bit architectures, as well as several mobile platforms such as Windows Mobile, iPhone SDK and built-in GTK +. It has language bindings for Python, Perl, Ruby and many other languages. Unlike other multiplatform toolkits wxWidgets gives your applications a native look and feel, as it uses the platform’s native API instead of emulating the graphical user interface. It is also open source and mature.

Going by the trends, Qt clearly is going forward and has potential to land on devices of any form-factor. At e-con we have developed several visually appealing and intuitive user interfaces for our customers using Qt QML on our eSOMiMX6 devices with great performance. We strongly support Qt on our embedded platforms.

Are you looking to quickly develop an application using Qt? Then, the e-con Systems™ eSOMiMX6 based Ankaa kit might be a good solution for you.

Please visit our developer website to download various articles and supporting sample programs on Qt.

For further assistance and queries please get in touch with

Please download the following files from the Qt-Basics, Qt-Intermediate packages available in our developer site to build and try Qt applications on eSOMiMX6.

  • Hello World

  • My First QML Application

  • My First Qt Widget Application

  • Graphs

  • Image Viewer

  • Virtual Keyboard

  • USB camera streaming and capture

  • Launcher Application

  • Image Slideshow

  • WebEngine