Hiya there. I know some stuff about the Windows32 API, and that it's the way to make GUI's on Windows. The good thing is that I'm not interested in Windows development as a main thing, rather just to port Linux applications to Windows/Mac. I have heard of two main GUI libraries - QT and GTK+. I'd like to know which one is better, which one is easier to learn, and which one you'd advice me to learn first. A link to a good tutorial would be appreciative too.
At least I got a response, but could you link to a good tutorial for it? And please specify, does it work for Linux and Windows? MacOSX is a plus, but not at all necessary.
Between QT and GTK+ is only few real differences.
1) License, you cann't use QT for commercial work for free. You mast pay to Nokia. But if your programs are free use as much as you want.
2) Here are a lot of books about QT, but here aren't a lot of books about GTK+.
I used a little bit of QT a while ago. The API seemed almost as odd as the Windows32 one, and don't users need QT installed to use it?
Hm, I was hoping to be able to make a little bit of money down the road, and if I had to pay, I probably wouldn't make very much money. Can you link to good tutorials for GTK+?
1) License, you cann't use QT for commercial work for free. You mast pay to Nokia. But if your programs are free use as much as you want.
This is not true.
QT has a commercial license AND a LGPL license product.
The LGPL license basically means that you can use QT in your commercial product, but you cannot say you wrote it, modify it, you have to dynamically link to it and you have to provide a copy of the LGPL licence along with it.
In practice this means you can perfectly well use it in commercial products, if you respect certain conditions within the LGPL.
If you google "QT vs GTK+" you will get quite a few comparisons.
Most seem to favour QT and now that it's been taken over by Digia hopes are that it will be ported to iOS (iphone / ipad) soon, making it the most supported cross platform framework.
Not an expert here but you might consider wxwidgets. As far as I know it is a portable (platform independent) toolkit that uses QT or GTK+ to implement things on the lower level. Or you might try JavaFX, I heard it is a replacement for the old Swing. Both are high level and object oriented thus easy to use and maintain.
Is it really possible to make GUI in WIn32 API? It sounds rather uncomfortable.
It seems that nobody said about wxWidgets, which is a very powerful cross-platform toolkit: http://www.wxwidgets.org/
It is my favourite toolkit because it creates much smaller executables compared with Qt (it also compiles very fast, if you ever want to compile Qt from sources it takes hours, multiply this with every debug - release combination) and it has very populated forums and extensive documentation.
Thanks for all the information.
Slazer, I'm not interested in Java at all. I'll learn it when I have to take AP Computer Programming. :) Yes it is possible to make a GUI with Win32 API. A lot of people do it. And being able to do it shows something about the programmer.
It means they are a bad programmer.
Modoran, I'll look into wxwidgets. Is it possible to mix wxwidgets, QT, and GTK+ all together? I'm the least interested in QT, having tried using a little bit of it a long time ago, but having the option would be nice.
Modoran, I'll look into wxwidgets. Is it possible to mix wxwidgets, QT, and GTK+ all together? I'm the least interested in QT, having tried using a little bit of it a long time ago, but having the option would be nice.
It should be possible (I never tried), but it could have issues even if it works, like very huge depedencies which must be present at runtime.
For GTK+ there is Glade, a GUI designer.
For Qt there is Qt-designer.
They generate C code but I remember having read they also have C++ support. Never used any of them though.
Hamm yeah, because Juce is not that much advertising and kind a new too.
But It is really good , believe me, It's very simple to use, based on inheritance and very powerful toolkit to build GUI for audio video kind of things....