How to add GUI for your applications?
When do you think you are ready for creating your own application? You have to be good enough with coding but obviously that is not enough. The applications which you are creating for your targeted users, be it commercially or just for fun sake, need not be professional coders but are mere end users. The users want the developers to build applications that meet their needs and also help with it the easiest way. You needn’t be an artist for creating the best interfaces but should be able to deliver what the users want the easiest way.
GTK and Qt ,the same toolkits behind GNOME and KDE, are the best graphical toolkits fit for this job. Providing the same functionality they have their own advantages and disadvantages.
The GTK+ toolkit, otherwise known as the GIMP toolkit is coded in C but has got bindings for just all of the favourite languages programmers speak nowadays. Ruby-gtk2, PyGTK, Gtk# are just a few to name. The GNOME desktop utilities are built on GTK+ libraries. The popular music player – Banshee, Photo Organizer – F-spot, Evolution – official personal information manager and workgroup information management tool for GNOME, popular IM client – Pidgin are just a few of the popular Linux Based applications built with GTK+ libraries and it’s various bindings. The code for the interface of your application actually consists of pages of codes but now the coding the interface has been simplified with various tools like Glade for GTK+. These GUI builders help in easily designing the interface without having it code it manually. Glade gives output as what is referred to as a “glade file” which is actually an XML file which describes the heirachy of the widgets comprising the interface. The most interesting aspect of GTK is the GNU LGPL 2.1 which binds it ( not GPL ). This allows development of both free and proprietary software with GTK+ without any license fees or royalties.
Qt is another popular cross-platform application development framework, widely used for the development of GUI programs. Originally released by Trolltech now it’s development is controlled by Nokia’s Qt Development Frameworks division after Nokia’s recent acquisition.Google Earth, KDE, Opera, OPIE, VoxOx, Skype, VLC media player and VirtualBox are a few of the popular applications with Qt. Qt is implemented in C++ and it has got full fledged support libraries for database manipulation, multimedia operations, OpenGL graphics, scripting, Web-based programming through WebKit and not just GUI construction. Qt comes with a load of developer tools in it’s kitty including Qt Designer GUI designer, Qt Linquist, Qt Assistant and QMake for building and distribution of software packages.
In my next post I will be discussing about getting started in GUI development with GTK and Glade.
Popularity: 45% [?]




are these the only toolkits available?
[Reply]
@ braun, check out http://techbase.kde.org/Development
[Reply]
Braun Reply:
March 5th, 2010 at 5:00 AM
Thanks. I was actually interested in GUI development with Qt but i feel very confused as which tools to use. I saw a SDK at their official website and also heard about qt-designer.
Which one do you think will be better?
[Reply]
[...] you have read the previous article on GUI programming , this article will give an insight about [...]
Could you have OpenGL support in GTK+?
[Reply]
admin Reply:
March 5th, 2010 at 4:15 PM
yeah. It’s possible. GtkGLExt makes this integration possible.
[Reply]
Just a comment on the color scheme: I personally find it hard to read the light blue text, and unfortunately gave up. I have more than enough sources of eyestrain.
[Reply]
admin Reply:
March 5th, 2010 at 2:54 PM
Thanks for the suggestion. Will correct it soon..
[Reply]
admin Reply:
March 5th, 2010 at 7:00 PM
I have made the font dark.. Hope its readable now.. Thanks for the suggestion..
[Reply]
Much better, thanks for taking the time. I should’ve mentioned that I’m color-impaired so I’m not sure it would’ve bothered other readers. In any event, thanks again.
[Reply]