GTK or QT? Three things you might want to consider when deciding

Coding, it is fun. At best, you discover new things and form new friendships when you code and learn. In reality, much of coding experience can sometimes be about debugging and finding errors. Do not get me wrong: I absolutely love learning from my mistakes and finding better solutions. But in case you are just about to start coding and you are using mainly Linux or some other Unix I will offer you my two cents when it comes to deciding if you should use GTK or QT as your Gui framework.

1. Be sure to decide if you want to use GTK2 or GTK3. There is a massive difference between the two. GTK3 offers some nice new tricks and somewhat better visual outlook. Gtk2 has some cool features as well and it is also very usable. Gtk2 is however something that generally is not in the current focus when it comes to newly developed programs.

2. QT has better consistency and it feels less mystical then GTK3. Sometimes when I have written my Guis with GTK3 I have felt like I was doing magic. It might just be my experience but GTK3 seems a bit less well documented than QT in some cases. This of course is directly related to what you are trying to code. Just to be fair: many things are still surely in development on the documentation side. If you take a look at GTK2´s documentation you will find rich resources and some astonishing guides. I have no doubt that GTK3 will achieve this as well in the future.

3. Are you targeting many platforms? If you are trying to build some software that needs to run Windows and Linux then you should probably go with QT. QT provides good platform compatibility. GTK on the other hand really shines on the Linux and Unix side.

The opinions expressed on the above are entirely subjective. I am not saying that you should or should not use something. I build programs using GTK and QT. Currently, I must admit that QT is becoming my favorite Gui framework. For a long time I really disliked QT and always chose GTK2 or GTK3 over it. Nowadays, I understand the functionality of QT a lot better than I did on my earlier days and it has surpassed GTK as my favorite. A thing worth mentioning is also the Gui building tools out there. I always recommend doing a Gui manually when possible. But if you want to or need to design Guis via programs then both GTK and QT have you covered. GTK has, for example, Glade, which is great and QT has, for example, QT-designer and QT-creator -and they are both really good programs. In the end whatever you choose you cannot go wrong – since you coding and making something new line by line.

Whatever you do: have fun and do not be discouraged if you cannot get everything as you want right away. Coding takes time. To make something beautiful and functional might take months or sometimes even years. For many: the desire to code comes from seeing the long awaited end result and from the knowledge that something that was once only a draft has developed into a real program that actually works.