Josef Spillner wrote:
Hallo,
kann mir jemand eine Entwicklungsumgebung mit ähnlichem Umfang wie Kdevelop nenen, die mit Gnome läuft?????
Ähnlicher Umfang, da kenne ich nichts. Gtk+-Entwickler schwören auf glade, was in den 0.5.x-Versionen auch recht stabil + umfangreich ist. Allerdings ist dort nach dem Dialog-Zusammenbauen wirklich Schluß mit dem Klicken und du darfst einen Texteditor deiner Wahl starten.
Glade unterstützt natürlich auch die Gnome Widgets, man kann Eventfunktionen zu den verschiedenen Signalen definieren und gettext (für Internationalisierung) wird auch unterstützt. Im Quelltext werden dann alle Funktionsprototypen definiert. Die Sourcefiles haben recht logische Namen und GUI-Code wird sauber vom Event-Handler-Code getrennt. Was will man mehr? Die eigentliche Funktionalität muss man doch letztendlich immer von Hand schreiben.
Was sehr schön ist, ist die Funktion alle Widgets in eine XML-Datei zu schreiben. Man linkt dann das Proggi mit der libglade und die GUI wird aus der XML-Datei geladen. Diese kann man dann auch per Texteditor bearbeiten.
Das ist die sauberste Trennung von GUI und Programm, die ich kenne.
Glade kann auch Quellcode für die Gtk+-Bindings von ADA, Perl und C++ ausgeben.
Außerdem werden dort deine eigenen Daten nicht überschrieben (saubere Trennung). Gtk+ an sich (in Verbindung mit Gdk) ist aber um einiges schwieriger als Qt (mein subjektiver Eindruck), z.B. habe ich es bis jetzt noch nicht hinbekommen transparente Pixmaps zu laden (ohne daß Grauflächen entstehen) oder doppelt verlinkte Listen zu erstellen (Speicherzugriffsfehler). Aber dafür gefällt mir die Aufteilung in Boxen recht gut, besser als die Layouts in Qt.
Für doppelt verlinkte Listen gibt's eine fertige Klasse in der Glib (GList). In dieser Klasse gibt es verschiedene Funktionen für das einfügen, manipulieren und suchen von Listenelementen.
Das einzige was an Gtk+ grundlegend komplizierter ist, ist das Objektmodell in C, aber wenn man einmal die Implementierung verstanden hat, ist das auch kein Problem mehr.
Die Dokumentation von QT ist auch besser, bei Gtk+ sind immer noch viele leere Stellen in der API Dokumentation.
Jan