On Sat, 2003-11-08 at 11:15, Alessandro Bottoni wrote: > Alle 17:59, venerdì 7 novembre 2003, SMS WebMaster ha scritto: > > Why There is too many program created with QT (More than GTK programs) ? > > Really? > > > What is the different between GTK and QT ? is there any website talk > > about that ? > > Both www.gtk.org and www.trolltech.com have sections regarding this topic. > > Anyway, the main differences are: > - Qt is C++ based but it uses C++ in its own way because of its cross-platform > nature (through a special preprocessor) > - GTK is C based but it uses its own "object oriented" approach. Qt has also its own object model (QObject) that extends the C++ standard model with runtime introspection, signals, etc ... Qt uses a modified C++ syntax. GTK+ is pure C. Typical C apps require more boilerplate code, but simple code generators can do the bulk of work for you. > - Qt can rely on QtDesigner and KDevelop that, together, make up a real IDE > (similar to Visual Studio) > - GTK must rely on Glade only, that is a GUI builder equivalent to QtDesigner. > There is nothing like KDevelop for GTK (AFAIK). Anjuta is actually *IMHO* superior to kdevelop. Only good integration with glade-2 is missing. But you use libglade and xml files anyway though. (will it is the prefered method at least) > - Qt runs (with recompilation) on Linux/Unix, MacOS X and Windows (all > versions) > - GTK runs on Linux. There is a porting of the old GTK1.2 for Windows. A > Porting for Mac OS X is under development (AFAIK) GTK+ >2.0 work on every major linux/unix and on windows. Using the python bindings e.g., you have a cross platfrom solution out of the box. > - Qt has internal support for scripting (QAS) > - Should you need to add scripting capabilities to a GTK application, you have > to embed your own engine (Python, LUA...) > - Qt has integrated data-aware widget for data-centric applications. > - GTK has a separate project (gnome-db) for data-aware widgtes > - Qt-based applications and the KDE desktop "talks" each other via DCOP > - GTK applications and Gnome "talks" each other via CORBA this is gnome specific. dcop is kde specific. > - Qt has exhaustive bindings for Python and a few other language (maybe Perl > and Scheme) > - GTK has exhaustive bindings for C++ (GTKmm), Python (PyGTK) and Ruby. There > are less complete bindings for Perl, Scheme, Lua and so on. Have a look at > www.gtk.org for a complete listing of the available bindings and their > development status. The perl bindings for gtk+ are complete. But python bindings cover almost any other gnome lib like the canvas, bonobo, gconf etc ... C++ bindings are cool too though :-) > - Qt has exhaustive documentation and a lot of examples form Trolltech and the > KDE team > - GTK has exhaustive documentation and a lot of examples from GTK team > - Qt is freeware on Linux only > - GTK is always freeware (but it is not completely available on Windows and > MacOS X) Is completely available under windows. As is libglade/glade. Other gnome specific libraries usually arent available under windows. > Should you need to develop x-platform applications, have a look at wxWindows > (and wxPython) as well. The Linux implementation of wxWindows relies on GTK+ > but wxWindows can run on Windows (all versions) as well, thanks to MFC, and > on MacOS (all versions), thanks to a specific GUI engine. wxWindows is fine. PyGTK2 + GTK2 (e.g. dropline distro) works fine too. But ... QT is a good canvas widget. GTK doesn't :-) (is available in libgnomecanvas though, but doesn't compile on window out of the box, if you are able to compile it all onder windows) > CU > > ---------------------------------- > Alessandro Bottoni > alessandrobottoni@xxxxxxxxxxxx > _______________________________________________ > > gtk-list@xxxxxxxxx > http://mail.gnome.org/mailman/listinfo/gtk-list > > _______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list