Welches Toolkit lernen?

Post Reply
Message
Author
Don Philippe
Posts: 8
Joined: 14. May 2004 14:38

Welches Toolkit lernen?

#1 Post by Don Philippe »

Hallo,

Ich möchte schöne bunte Anwendungen für Linux/X schreiben.
Welches Toolkit ist das coolste? GTK? QT? Oder was anderes?

Vielen Dank im Vorraus

Don

Guest

#2 Post by Guest »

komtm drauf an ob du leiber c++ oder lieber c programmierst. gtk wurde für c konzipiert während qt eher eine c++ bibiliothek ist. aber gtk ist ein reine gpl software während qt kommerziell ist.

Entfernt
Posts: 149
Joined: 22. Jul 1999 12:53

#3 Post by Entfernt »

Ich würde dir auf jeden Fall GTK ans Herz legen. Das C++ Argument zählt einfach nicht, weil es für GTK auch C++ Anbindungen gibt. GTK ist einfach zu erlernen und wahrt die Eigenheiten der Sprache. QT verändert C++ in vielerlei Hinsichten.

Für GTK findest du auch eine Vielzahl an Sprachanbindungen, du kannst es mit C, C++, Java, Perl, Ruby, Common LISP, Scheme und viele andere Sprachen einsetzen. Die Anbindungen von GTK sind dabei in vielen Sprachen sehr gut gelungen und wahren wie gesagt die Besonderheiten der sprachen. Der Vorteil ist, daß du mit GTK auf der portablen Seite bist, weil es GTK für eine Vielzahl von Plattformen gibt. QT für Windows ist ja immer so ne Sache. :/

Jedenfalls brauchst du mit GTK kein anderes Toolkit erlernen, wenn du mal ne GUI in ner anderen Programmiersprache schreiben willst. GTK in C tue ich mir selbst aber schon lange nicht mehr an. Ich bevorzuge GTK mit C++, Ruby und Common LISP.

Auf jedenfall ein sehr gutes Toolkit und auch einfach zu erlernen. Der GTK Workshop, den ich mal auf Pro-Linux geschrieben habe, ist leider noch für GTK1.2 und es dürfte ihm etwas an Aktualität mangeln.

User avatar
jochen
prolinux-forum-admin
Posts: 699
Joined: 14. Jan 2000 15:37
Location: Jülich
Contact:

#4 Post by jochen »

Disclaimer: Ich arbeite weder mit dem einen noch mit dem anderen (als Entwickler).

Allerdings ist Qt nicht schlicht als "kommerziell" abzuwerten. Es untersteht einer Doppel-Lizenz. Qt untersteht der GPL-Lizenz, wenn Du die Library für GPL-Anwendungen verwendest. Wenn Du selbst kommerzielle Anwendungen oder eine Windows-Version Deiner Anwendung entwickeln willst, musst Du eine Lizenz für den kommerziellen EInsatz von TrollTech erwerben.

Jochen
Die grösste Lüge der EDV? "Mal eben..."

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#5 Post by hjb »

Hi!

GTK ist IMO einfach zu primitiv, um effektiv damit zu programmieren. Wenn du nicht von vornherein eine andere Sprache als C oder C++ anpeilst, dann würde ich zumindest von GTK stark abraten. Natürlich gibt es tolle Applikationen mit GTK, aber die Programmierung ist eine Quälerei und die GUI ist in der Regel mies (Ethereal ist eine der besseren).

Wenn du keine kommerziellen Programme schreibst, ist Qt wohl die beste Wahl. Ansonsten empfehle ich wxWidgets. Unter allen Cross-Plattform-Bibliotheken ist diese bei weitem die umfassendste.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Tom2

#6 Post by Tom2 »

@hjb
Das wxWidgets sieht sehr interessant aus. Weisst Du, ob und wenn ja wie man das VTK (mit C++) darin einbinden kann? Auf www.wxwidgets.org habe ich zwar einen Verweis auf zukünftige Vorhaben gefunden, aber keine infos, wie weit das ganze schon ist.
Danke und Gruss
Tom2

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#7 Post by hjb »

Hi!

@Tom2: Tut mir leid, zu VTK weiß ich gar nichts. Was wäre nötig, um es mit wxWidgets zu verheiraten? Ein OpenGL-Widget existiert meines Wissens bereits.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Tom2

#8 Post by Tom2 »

@hjb: Schade. Weiss noch nicht, was nötig wäre, aber ich sehe mir die OpenGL-Einbindung mal näher an. Trotzdem vielen Dank.
Tom2

pvbrowser

Qt+VTK

#9 Post by pvbrowser »

Qt ist mein bevorzugtes Toolkit.
VTK kann man auch darin integrieren.

Das Binding ist u.a. in meinem Projekt enthalten.
http://pvbrowser.org

Don Philippe
Posts: 8
Joined: 14. May 2004 14:38

#10 Post by Don Philippe »

Thx, Ich schau mir mal GTK an...

Leander Hanwald
Posts: 109
Joined: 13. Apr 2004 6:23

#11 Post by Leander Hanwald »

Die Wahl des Toolkits ist wohl sehr von dem Einsatz abhängig.

Zuerst zu genannten argumenten:

"aber gtk ist ein reine gpl software während qt kommerziell ist."

Das ist schlicht falsch. GTK ist LGPL während Qt GPL ist, und zusätzlich eine Kommerzielle Lizenz anbietet, wenn du keine Open Source Software entwickelst.

"Das C++ Argument zählt einfach nicht, weil es für GTK auch C++ Anbindungen gibt"

Das mag durchaus sein, aber dennoch ist Qt von beginn an dafür Entwickelt worden, Objektorientiert zu sein. Ich finde es unsinnig ein Toolkit auf diese wiese zu verbiegen, wenn es schon etwas geeignetes gibt.
Und das es kaum Bindings für andere Sprachen gibt, ist nicht die Schuld von Qt, sondern der meisten Sprachen die nur in C als Basis entwickelt wurden, oder sich die Freepascal bisher nicht die mühe gemacht haben sich an das Objektmodell von C++ anzupassen.
Andere Sprachen wie Kylixs. Object Pascal haben diese Anbindung.

"Qtverändert C++ in vielerlei Hinsichten."

Und es gibt genug Entwickler, welche das durchaus positiv sehen :)

Zudem passt GTK kaum z.B. zu Windows. GIMP sieht immer wie ein Fremdkörper aus, und fühlt sich fast nie "richtig" an. Qt Anwendungen hingegen passen sich sehr gut in Windows und MacOSX ein.

Die saubere Struktur von QT, und seine einfache nutzbarkeit finde ich vorbildlich. Borland hatte gute Gründe Qt als Basis für Kylix zu benutzen.

Ich kann GTK nichts abgewinnen, und habe es inzwischen größtenteils aus meinem System verbannt. Nur Xchat, XMMS und GIMP existieren noch auf meinem System. Ansonsten will ich kein GTK mehr haben, und wenn es gute alternativen für die 3 genannten gibt, wars das komplett :)

jack

#12 Post by jack »

Bei mir ist es genau Umgekehrt...
Ich habe keine QT-Basierten Programme auf dem Rechner...
Das mag durchaus sein, aber dennoch ist Qt von beginn an dafür Entwickelt worden, Objektorientiert zu sein. Ich finde es unsinnig ein Toolkit auf diese wiese zu verbiegen, wenn es schon etwas geeignetes gibt.
Und das es kaum Bindings für andere Sprachen gibt, ist nicht die Schuld von Qt, sondern der meisten Sprachen die nur in C als Basis entwickelt wurden, oder sich die Freepascal bisher nicht die mühe gemacht haben sich an das Objektmodell von C++ anzupassen.
Andere Sprachen wie Kylixs. Object Pascal haben diese Anbindung.
Hast du dir schonmal gtkmm angesehen?
Damit kann man genau so gut Programmieren, wie mit Qt. Da ist nichts verbogen, ungeeignet, oder sonstwas.
Die saubere Struktur von QT, und seine einfache nutzbarkeit finde ich vorbildlich. Borland hatte gute Gründe Qt als Basis für Kylix zu benutzen.
GTK ist ebensoeinfach nutzbar wie Qt. (Schau dir mal die Docs von gtkmm an)
Wobei das ziehmlich subjektiv ist.

Guest

#13 Post by Guest »

Also Ich finde GTK voll knorke.

Macht es sinn, erst einmal das "normale" C - GTK zu lernen, und sich dann GTKmm
anzuschauen oder ist da die Umstellung zu groß?

jack

#14 Post by jack »

Kommt drauf an.
Wenn du sowieso in C++ coden willst, ist es unnoetig sich gross mit dem C-GTK zu beschaeftigen. Du kannst aber Problemlos Beispiele vom C-GTK auf gtkmm uebertragen.
Denn gtkmm ist zwar ein C++ Binding, es macht auch grossen gebrauch der C++-moeglichkeiten, es ist und bleibt aber GTK. D.h. die Funktionen haben gleiche Namen, sind nur anders verpackt.
Das ist allerdings nicht unbedingt ein Nachteil... :wink:

Post Reply