4 ms·
I think one of the main points is the language. GTK is a C framework, Qt is C++. A lot of people in Linux community prefer to use old school C. Also licensing w
by yoz-y 12y ago
I think one of the main points is the language. GTK is a C framework, Qt is C++. A lot of people in Linux community prefer to use old school C. Also licensing was certainly an issue at some point. The open source project I was working on made the choice to use GTK because it was Free. If we had to make the choice now, again, we would choose Qt. But it is too late to rewrite years worth of code.
- adrusi 12y agoAlso, while GTK is written in C, it is designed with cross-language compatability in mind. GTK has first class support in C, C++, Vala, Python, and Javascript (there are still more official bindings and countless unofficial bindings). Qt is almost exclusively a C++ framework. There are Python bindings, but they aren't comparable to GTK's.
- Sammi 12y agoI haven't tried these, but there seems to be QT bindings for quite a few languages: https://qt-project.org/wiki/Category:LanguageBindings https://qt-project.org/wiki/Category:LanguageBindings
- Zardoz84 12y agoIt's a real problem. I really like to use QT, but I found that is problematic if you aren't using C++. For example on C, D or Java. There is bindigns, but or are lagging behind the last version of QT (ie Qt 4.8 or more older) with very few support or are abandoned some time ago.
- lmedinas 12y agoI'm not so sure if most of the people want to use GTK because it's C. Because usually that means that they have to deal with GObject which is not so nice.
- fmoralesc 12y agoI like GObject a lot (esp. over higher-level languages like python). I just wish creating typelibs was easier.
- scarygliders 12y agoTo be honest, I don't care what language Qt is written. As long as there is a binding for my language of choice, as long as Qt does what the documentation says it does, as long as the developers seem to know their stuff, and listen to people's problems with agency, then that's good enough for me.