C ++ und GUIs für den Unterricht [geschlossen]

8

Also, ich wurde beauftragt, einen Programmierkurs zu unterrichten, der einiges über die GUI-Programmierung in C ++ enthält. Ich fragte mich, was wäre das beste Setup dafür? Linux und GCC sind meine Werkzeuge der Wahl.

Ich habe noch nie einen solchen Kurs gemacht, ich bin ein guter C-Programmierer, aber kein C ++ - Programmierer. Ich brauche C ++, weil der gleiche Kurs OOP abdecken muss, und wie schwer kann C ++ sein? :)

    
Dervin Thunk 11.12.2010, 17:15
quelle

9 Antworten

1

FWITW, Bjarne Stropstrups verwendet FLTK für den gleichen Zweck: Ссылка

    
Nemanja Trifunovic 12.12.2010, 02:21
quelle
10

Wenn das Betriebssystem und das GUI-Toolkit Ihre Wahl sind und es C ++ sein muss und Sie Linux bevorzugen, dann denken Sie über Nokia Qt API.

Es ist kostenlos, quelloffen, plattformübergreifend und von hoher Qualität.

    
Andy Thomas 11.12.2010 17:23
quelle
3

stöhnt innerlich :) C ++ ist völlig anders als C und nicht nur über OOP ...

Vielleicht möchten Sie ihnen ein plattformübergreifendes GUI-Framework wie wxWidgets oder Qt beibringen. Aber das erfordert, dass Sie zuerst ernsthaft über sie lernen. Es gibt ein gutes Buch über wxWidgets, das als kostenloses PDF verfügbar ist (Cross-Platform GUI Programming mit wxWidgets) - siehe Ссылка .

Der Vorteil des plattformübergreifenden Aspekts ist, dass Sie Linux und GCC ganz nach Belieben verwenden können und ihre Fähigkeiten bei Bedarf auf andere Plattformen übertragen werden.

(Vielleicht möchten Sie ihnen auch CMake beibringen, wenn Sie die gesamte Tragbarkeitslinie im Großen und Ganzen durchgehen wollen ...)

    
Stuart Golodetz 11.12.2010 17:19
quelle
3

Sie können OOP und GUI in C ausführen. Schauen Sie sich GTK + an.

    
Alexandre C. 11.12.2010 17:47
quelle
3

Ich bin ein Fan von gtkmm und Lichtung . Die GUI ist nicht besonders schön, aber es ist die beste GUI-Bibliothek aus der Sicht des C ++ - Programmierers. Es ist sehr einfach zu verwenden und es macht einfach Sinn. In der Tat können Sie eine nette GUI von Grund auf mit nichts als einem Texteditor und Kodierung erstellen. Auf der anderen Seite gibt es auch die Lichtdesigner, GUI mit einer GUI-Anwendung zu erstellen. gtkmm lässt sich problemlos mit der Standard-C ++ - Bibliothek verbinden, bietet aber auch die ustring -Klasse, eine std::string -kompatible Unicode-unterstützende String-Klasse. Es kommt auch mit libsigc ++ für die Ereignisverarbeitung Mechanismus. libsigc ++ ähnelt Boost.Signals im Design. Die klare Trennung der Anliegen in der Bibliothek - der Rahmen, die GUI und die Signale - machen auch pädagogisch gute Dienste.

    
wilhelmtell 11.12.2010 20:20
quelle
1

Für die "einige Sachen" über die GUI, die Sie als "Zeichnen, Aktualisieren, ereignisbasiertes ...", d. h. grundlegende Konzepte, beschreiben, sollten Sie die Windows-API in Betracht ziehen.

Es ist einfach, es ist konkret , und es ermöglicht Ihren Schülern, alles auf eine OO-Art zu verpacken, was sehr lehrreich ist.

Beispiel für "Zeichnen, Auffrischen, ereignisbasiert", Zeichnen einer Ellipse mit dynamischer Größe (Sie müssen die drei Header definieren, die am Anfang enthalten sind):

%Vor%

BEARBEITEN : OK, vielleicht sollte ich diese drei Header am besten posten. Es ist keine gute (vollständige) Antwort ohne sie. Also.

[winapi / wrapper / windows_h.h] :

%Vor%

[cppsupport / error_handling.h] :

%Vor%

[cppsupport / anti_warnings.h] :

%Vor%

Prost & amp; hth.

    
Cheers and hth. - Alf 11.12.2010 17:36
quelle
1

Wenn Sie C ++ und Linux verwenden, betrachten Sie gtkmm. Die GNOME-Desktopumgebung basiert auf GTK + und gtkmm ist der offizielle C ++ - Wrapper für die GTK + -Bibliothek. Es enthält eine nette Dokumentation und, was für den Unterricht wichtig sein könnte, versucht die C ++ - Standardbibliothek so gut wie möglich zu verwenden.

Die andere beliebte Wahl Qt (die auch ein sehr gutes Toolkit ist, besonders wenn Sie plattformübergreifende Kompatibilität benötigen) hat einen großen Teil der Standardbibliothek neu implementiert, was es wahrscheinlich zu einer nicht so guten Wahl macht, wenn Sie Standard unterrichten C ++.

    
kalev 11.12.2010 18:40
quelle
0

Für Linux kann ich ultimate ++ und qt . Ich persönlich benutze QT, und finde es ziemlich gut, bis auf einige echte WTF Dinge.

Was c ++ betrifft, würde ich das nicht so einfach beurteilen. c und c ++ sind ziemlich verschieden.

    
BЈовић 11.12.2010 21:05
quelle
0

OpenGL-Grafiken mit den meisten Sprachen sind ein guter Anfang. Es ist kostenlos, opensource, die Konzepte sind leicht zu erklären, und die API ist gut getestet, leistungsstark und sogar auf mobilen Plattformen wie iPhone oder Android nutzbar. Sehr zu empfehlen.

    
Mark Mayo 12.12.2010 12:41
quelle

Tags und Links