Re: GTK vs QT
- From: Mikoyan <miko2 pandora be>
- To: Alessandro Bottoni <alessandrobottoni interfree it>
- Cc: gtk-list gnome org
- Subject: Re: GTK vs QT
- Date: Sat, 08 Nov 2003 14:58:59 +0100
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]