PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GUI-Programmierung für Anfänger



nidhoegg
17-11-2003, 21:33
Hallo!
nachdem ich meine ersten Programmier-Erfahrungen mit Java gemacht habe, möchte ich nun "richtig" einsteigen mit C++.
Nun hat sich unter Java die Frage: "Welches GUI-Toolkit" nicht gestellt.

Ich habe mich schon ein bischen schlau gemacht und bin aber noch zu keinem Ergebnis gekommen. QT mag ich nicht, daher will ich darin auch nicht programmieren lernen. Eigentlich wäre GTK+ das Toolkit meiner Wahl, aber das scheint mir recht kompliziert zu sein, zumal GTK ja in C geschrieben ist, und das möchte ich nicht für den Anfang auch noch mit dazu lernen.

Ich habe dann noch ein paar Widget-Sets entdeckt namentlich FOX und WINGS. FOX brüstet sich damit, für Einsteiger besonders einfach zu sein und ist auch recht schnell. WINGS ist wohl nicht wirklich fürs programmieren für komplizierte GUIs gedacht, aber vielleicht gerade deswegen für einen Anfänger auch leichter und überschaubarer.
Zudem bin ich bei meiner Suche auch noch auf Python/pygtk gestoßen. Python möchte auch eine einfach zu erlernende Sprache sein und GTK hört sich für mich auch gut an.

Der Langen Rede kurzer Sinn:
Wie seid Ihr in die GUI-Programmierung mit C++ eingestiegen? Macht es Sinn, sich vielleicht erstmal mit etwas einfacherem zu beschäftigen zum Einstieg, oder lieber gleich mit GTK+ loslegen?
Für Links oder Empfehlungen wär ich sehr dankbar.

Grüße vom
noch etwas orientierungslosen

nidhoegg

Berufspenner
17-11-2003, 22:01
Hi

Willkommen im Forum :)

Also meine Wenigkeit ;) lernt, soweit es die Freizeit erlaubt, QT und ich bin damit auch sehr glücklich.

Um auf deine Aüßerungen einzugehen: Es gibt zum einen einen GTK-Wrapper für C++, der glaube ich GTK-- heißt, und zum anderen würde mir da noch wxwindows einfallen. Das ist ein "systemunabängiges" GUI-Toolkit, welches sich dem System grafisch anpasst. Das soll heißen, dass ein wxwindows GUI unter KDE aussieht wie QT und unter Windows wie ein Windows-GUI.

Cu
André

anda_skoa
17-11-2003, 23:12
Original geschrieben von Berufspenner
Also meine Wenigkeit ;) lernt, soweit es die Freizeit erlaubt, QT und ich bin damit auch sehr glücklich.

Hätte ich ja auch vorgeschlagen, aber das scheint aus unerklärlichen Gründen nicht in Frage zu kommen (leichte Form von Masochismus wahrscheinlich :D )



Um auf deine Aüßerungen einzugehen: Es gibt zum einen einen GTK-Wrapper für C++, der glaube ich GTK-- heißt

gtkmm http://gtkmm.org/


Das soll heißen, dass ein wxwindows GUI unter KDE aussieht wie QT und unter Windows wie ein Windows-GUI.


Es gibt keinen KDE Port von wxWindows, leider :(
Wird es wahrscheinlich auch nicht so schnell geben, denn dazu müssten man Qt und wxWindows Benutzer sein und welcher Qt Benutzer braucht schon was anderes :)

Unter X11 gibt es im Moment glaub ich nur den GTK+ und den Xlib Port, wobei ich nicht sicher bin, welche GTK Version da benutzt wird (also ob das eh schon GTK2 ist)

Ciao,
_

cybercrow
17-11-2003, 23:31
Original geschrieben von nidhoegg
Eigentlich wäre GTK+ das Toolkit meiner Wahl, aber das scheint mir recht kompliziert zu sein, zumal GTK ja in C geschrieben ist, und das möchte ich nicht für den Anfang auch noch mit dazu lernen.


GTK+ ist wirklich nicht schwer. Ich habe selber innerhalb 1Monat GTK so weit gelernt das schon das erste sinnvolle Programm dabei herausgekommen ist.
Wenn du C++ kannst sollte GTK+ und C kein Problem für dich sein. Bei Programmieren der GUI merkst du eh kaum welche Programmiersprache du verwendest da dabei der Syntax in erster Linie vom Toolkit bestimmt wird, die Programmiersprache merkst du erst richtig wenn du die GUI mit Leben füllst und da bist du schnell in C drin wenn du schon C++ kannst.

Schau dir mal das Tutorial an: http://www.gtk.org/tutorial/
Das GNOME Entwickerler Handbuch von Matthias Warkus ist auch sehr gut.

Wenn dir das "GUI-Programmieren" umständlich vorkommt oder du dir nur schwer vorstellen kannst wie es nachher aussieht, kann ich nur sagen das du dir hier keine großen sorgen machen solltest. Ich habe auch nur 2-3 GUIs wirklich (von Hand) programmiert um den Grundsyntax kennen zu lernen, danach wirst du dir deine GUI eh mit glade zusammenstellen und du mußt dich dann nur noch ums ausprogrammieren der Funktionen kümmern.



Zudem bin ich bei meiner Suche auch noch auf Python/pygtk gestoßen. Python möchte auch eine einfach zu erlernende Sprache sein und GTK hört sich für mich auch gut an.


das ist auch einer der Sachen die mir an GTK sehr gut gefallen. Hier findest du eine Liste der vorhandenen Sprach-bindings:
http://www.gtk.org/bindings.html

Ich persönlich bin zur Zeit ziemlich von scheme begeistert und werde mir demnächst guile-gtk ansehen: http://www.gnu.org/software/guile-gtk/ :)

nidhoegg
18-11-2003, 00:30
Hallo!
Vielen Dank für das herzliche Willkommen und die schnellen Antworten, das ist nicht selbstverständlich. ;)

Ich habe mich schon über diverse Toolkits informiert und wxwindows ist mir auch bekannt. allerdings möchte auch nicht unbedingt etwas ganz exotisches lernen, was dann nicht wirklich kompatibel ist (okay, FOX wär wohl auch sowas ;-)
Was QT betrifft, ist das wohl Geschmacksache; Ich setze das imer mit KDE gleich und das mag ich nicht, vor allem, weil es so langsam ist. Ich nutze auch selber keine Qt Programme, wär also nicht unbedingt mein persönliches Optimum, in Qt zu programmieren.

Im Moment tendiere ich nun dazu, mit GTK+ anzufangen. Ich hab schonmal bei gtk.org reingeschnüffelt und auch ein bischen dort gelesen. Deutsche Links zu gtk gibt es auch einige und ich muß erstmal filtern, ob das was brauchbares dabei ist. Wenn jemand einen tip hat, dem gehe ich auch gerne nach :)
Bücher möchte ich mir zu Anfang erstmal nicht kaufen; hab die Erfahrung gemacht, daß man da schnell Geld in den Sand setzt, wenn einem die Erfahrung fehlt ...

Dank & Gruß

nidhoegg

peschmae
18-11-2003, 10:14
Ich bin kein Qt-Freak. Nur damit das gesagt ist (ich halte mehr von SWT :D, soviel zum Thema die Frage stelle sich unter Java nicht)

Aber: Qt ist soweit ich das beurteilen kann nur im Zusammenhang mit KDE so langsam. Qt-Only Apps können durchaus ansprechen schnell sein (z.B. QCad oder Scribus). Bevor du das Tempo von Qt beurteilen kannst musst du dir sicher auch mal so ne app ansehen - nicht nur KDE.

Ausserdem (obwohl ich offenbar der einzige bin, der das denkt) ist Gtk2 auch nicht schneller als Qt. (@ceisserer: und das nicht nur mit SWT)

Fox hab ich nie programmiert, verwende ich aber als SWT-Backend (falls man dem so sagen kann). Ist halt nicht so Mainstream wie Qt (oder auch Gtk) aber pfeilschnell.
Ich hab allerdings mal was Fox-ähnliches programmiert: FLTK (www.fltk.org) - war ganz zufrieden damit, abgesehen davon, dass die Gui z.T. recht eigen aussah.

MfG Peschmä

anda_skoa
18-11-2003, 10:28
Original geschrieben von nidhoegg
Ich habe mich schon über diverse Toolkits informiert und wxwindows ist mir auch bekannt. allerdings möchte auch nicht unbedingt etwas ganz exotisches lernen, was dann nicht wirklich kompatibel ist (okay, FOX wär wohl auch sowas ;-)

:)
Dann ist wxWindows das Gegenteil von exotisch. Dürfte eines der am weitest verbreiteten C++ Toolkits sein.
Wird auch die Basis für Crossplatform Anwendungen von Borlands neuem BuilderX sein.

Oder um das anders auszudrücken: wenn es kein Qt gäbe, würde ich wxWindows benutzen :D

Für wxWindows gibt es auch haufenweise Languagebindings, ein Freund von mir schwört auf wxPython

Ciao,
_

peschmae
18-11-2003, 13:05
Original geschrieben von nidhoegg
Im Moment tendiere ich nun dazu, mit GTK+ anzufangen. Ich hab schonmal bei gtk.org reingeschnüffelt und auch ein bischen dort gelesen. Deutsche Links zu gtk gibt es auch einige und ich muß erstmal filtern, ob das was brauchbares dabei ist. Wenn jemand einen tip hat, dem gehe ich auch gerne nach :)


Gtk hab ich auch mal ein bisschen probiert. Hat mir aber nicht extrem zugesagt. Da ziehe ich Qt vor (auch wenn ich Gtk-Anwendungen eigentlich lieber habe - ist doch ein toller Wiederspruch, nicht wahr? :eek: )

MfG Peschmä

nidhoegg
18-11-2003, 17:54
@peschmae:
Dann geht es Dir vielleicht ähnlich wie mir. Habe mich aus den verschiedensten Gründen gegen Qt entschieden und es wär ja nicht besonders sinnvoll, jetzt in Qt zu programmieren, wenn ich nur GTK+ benutze.

@anda_skoa
Was wxWindows betrifft mag das vielleicht auch eine Alternative sein; damit werd ich mich vielleicht als nächstes beschäftigen.
Im Moment werd ich mich jetzt erstmal über gtkmm schlau machen (danke für den Link).

nochmals danke für die Anregungen & bis demnächst :)

Gruß

nidhoegg