Re: GTK vs QT



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 interfree it
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
> 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]