Forum: PC-Programmierung Welche Entwicklungsumgebung für GUI Applikationen


von Leo (Gast)


Lesenswert?

Guten Morgen,

ich bin auf der Suche nach einer C++ Entwicklungsumgebung für Windows 
GUI Applikationen. C# möchte ich bewusst nicht einsetzen. Was gibt es 
noch, was gegebenfalls kostenlos ist ?

von Michael R. (dj_motionx)


Lesenswert?

Eclipse + OT oder GTK

von radiostar (Gast)


Lesenswert?

QT kann ich empfehlen. Gute Tutorials helfen außerdem beim schnellen 
Einstieg

von Qt (Gast)


Lesenswert?

Leo schrieb:
> Was gibt es noch, was gegebenfalls kostenlos ist ?

Qt: http://qt.nokia.com/products/developer-tools/
Etwas bloated, aber cross-platform ...

von Leo (Gast)


Lesenswert?

Was ist "OT" ? Kenne ich nicht.

von Leo (Gast)


Lesenswert?

Heutzutage wird immer mehr und mehr Microsoft Visual Studio VB/C# 
eingesetzt. Aber ich bin damit nicht so begeistert.

von Stefanie B. (sbs)


Lesenswert?

QT und QTCreator

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Man sollte vielleicht schon Entwicklungsumgebung und verwendete 
Klassenbibliothek bzw. verwendetes Framework auseinanderhalten.

Da der Threadstarter echtes C++ forderte, scheiden .Net-basierte Ansätze 
aus.

Als Klassenbibliotheken bzw. Frameworks kommen potentiell in Frage:

- reine Win32-API
- MFC
- Qt
- wxWidgets

(Liste erhebt keinen Anspruch auf Vollständigkeit)


Die Win32-API ist in der Liste eigentlich fehl am Platze, da sie weder 
Klassenbibliothek noch Framework ist, und obendrein ist sie, gerade was 
die GUI-Programmierung angeht, ausgesprochen steinig.
Sie ist aber die Grundlage jeder anderen Lösung, da sie und nur sie 
die Schnittstelle zu Windows darstellt. Sie zu verstehen hilft daher 
ausgesprochen, wenn man wissen will, warum man an ihrer Statt eine 
Klassenbibliothek verwenden sollte, und was die Klassenbibliothek so 
treibt.

MFC ist ein alter Klassiker, und Leuten, die noch nie damit gearbeitet 
haben, würde ich nicht nahelegen, sich damit zu beschäftigen. Sie ist 
ziemlich schlecht dokumentiert, sehr merkwürdig aufgebaut und alles 
andere als frei von Fehlern. Obendrein wird sie in Form von 
GUI-Builder-Werkzeugen nur von den kommerziellen Versionen der 
MS-Compiler unterstützt.
Dafür ist die MFC recht nah an der grundliegenden Win32-API angelegt.

Qt und wxWidgets sind plattformübergreifende GUI-Toolkits, die beide 
noch wesentlich mehr als nur GUI-Funktionen abdecken. Aufgrund der 
Tatsache, daß sie für etliche Betriebssysteme verfügbar sind, ist der 
Abstraktionsgrad zur unterliegenden Betriebssystemschnittstelle deutlich 
höher, in beiden wird man mit nativen Win32-API-Dingen nichts zu tun 
bekommen.

Als Entwicklungsumgebung empfiehlt sich unter Windows das "Visual 
Studio" in der C/C++-Ausführung. Der enthaltene C++-Compiler ist 
exzellent, der Debugger ist ebenfalls sehr gut, man muss allerdings beim 
Anlegen von Projekten aufpassen, nicht doch versehentlich mit dem 
.Net-Geraffel in Berührung zu kommen. MS hat eine Perversion von C++ 
herausgebracht, die eben kein C++ ist, aber so ähnlich genannt wird 
("C++/CLI" oder früher "Managed C++").

Der ebenfalls enthaltene C-Compiler ist im Gegensatz zum C++-Compiler 
recht ungepflegt, auch in der neuesten Inkarnation (VS2010) unterstützt 
er nach wie vor nur C89 ("ANSI-C") und nicht C99.

MFC kann nur mit der kostenpflichtigen VS-Variante genutzt werden, der 
kostenlosen Variante fehlt die erforderliche Unterstützung (Libraries, 
Header, Quelltexte etc.).

Sowohl für wxWidgets als auch Qt existieren entsprechende GUI-Builder, 
also Werkzeuge, mit denen man die graphischen Oberflächen designen kann.

Diese sind dann aber eher weniger in die Oberfläche des Visual Studio 
integriert.

von Robert L. (lrlr)


Lesenswert?

der Vollständigkeit halber

(nicht kostenlos, ..)

gibt es noch den

http://www.embarcadero.com/products/cbuilder


entweder mit VCL (=Nativ Windows) ODER Firermonkey

die VCL ist generell recht brauchbar, (allerdings in Pascal geschrieben)

falls C++ nicht "MUSS" ist, könntest also auch delphi oder lazarus 
anschauen..

von WTL (Gast)


Lesenswert?

Um es noch vollständiger zu machen:

Windows Template Library

http://sourceforge.net/projects/wtl/


Ist aber vielleicht nicht für Einsteiger zu empfehlen.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Für nicht all zu komplizierte Oberflächen empfehle ich da Win32-Api mit 
Resourcenbasierenden Dialogen, wenn einen die nicht-pixelbasierenden 
Maßeinheiten nicht stören.
Mit MingW + CodeBlocks + ResEdit und C/C++ bekommt man da ziemlich 
kompakte Programme hin.

von Fer T. (fer_t)


Lesenswert?

Ich würde auch QT empfehlen, arbeite sehr gerne damit.
Hat bei mir so angefangen, als ich von der NET Perversion auf reines 
C(++) umgestiegen bin (hab damals auch Linux entdeckt).

Also alleine weil man mit dem:
http://de.wikibooks.org/wiki/Qt_f%C3%BCr_C%2B%2B-Anf%C3%A4nger

Der Doku von QT (Nokia/Trolltech) und dem QTCreator schon extrem einfach 
in die Welt der GUIs einsteigen kann.

Auch weil QT wie erwähnt nicht nur GUI-Elemente bietet, sondern auch 
viel mehr, so lassen sich auch komplexe Graphische Aufgaben recht 
einfach lösen.

Das einzig negative ist, dass der Creator leider das Eclipse Plug-In 
abgelöst hat, ist aber auch nicht so schlimm, der Creator bietet das 
selbe wie Eclipse (Nachteil ist halt, jetzt hab ich den Creator für PC 
und Eclipse für AVR...).

Das ist Meine Sicht dazu :D

MfG

von W.S. (Gast)


Lesenswert?

Leo schrieb:
> ich bin auf der Suche nach einer C++ Entwicklungsumgebung..

Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der 
beabsichtigten Aufgaben?
Ich benutze für den PC immer noch Delphi und wenn das mal ab Windows 19 
SP9 nicht mehr geht, dann Lazarus. Geht immer noch am elegantesten. Ja, 
ich weiß aus eigener Erfahrung, daß man da beim uC Programmieren 
gelegentlich durcheinanderkommt (zwischen Pascal und C im Kopf hin und 
her schalten..), aber aus meiner Sicht sind eigentlich alle auf C und 
Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun 
Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an 
Laufzeit-Systemen nötig.

W.S.

von Adler (Gast)


Lesenswert?

W.S. (Gast) schrieb:

Leo schrieb:
>> ich bin auf der Suche nach einer C++ Entwicklungsumgebung..

> Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der
> beabsichtigten Aufgaben?

Frage ich mich auch.

> ... aber aus meiner Sicht sind eigentlich alle auf C und
> Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun
> Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an
> Laufzeit-Systemen nötig.

Den "Rucksack" bei .net siehst du doch bei einem aktuellen Windows gar 
nicht. Das Zeug gehört zum OS und ist eh geladen.

In einem aber gebe ich dir recht. Einer der im Jahre 2012 noch NIE von 
QT gehört hat (das es sowas noch gibt?! ;-)) sucht sich ausgerechnet C++ 
aus? C++ lädt ja buchstäblich ein Programmierfehler zu begehen ..

Think about!

von Arc N. (arc)


Lesenswert?

W.S. schrieb:
> Leo schrieb:
>> ich bin auf der Suche nach einer C++ Entwicklungsumgebung..
>
> Warum? Ist dir die Verwendung von C++ wichtiger als das Lösen der
> beabsichtigten Aufgaben?
> Ich benutze für den PC immer noch Delphi und wenn das mal ab Windows 19
> SP9 nicht mehr geht, dann Lazarus. Geht immer noch am elegantesten. Ja,
> ich weiß aus eigener Erfahrung, daß man da beim uC Programmieren
> gelegentlich durcheinanderkommt (zwischen Pascal und C im Kopf hin und
> her schalten..), aber aus meiner Sicht sind eigentlich alle auf C und
> Nachfolgern basierenden Lösungen ein Krampf nach dem anderen, ob nun
> Java oder Dotnet oder QT. Immer ist ein riesiger Rucksack an
> Laufzeit-Systemen nötig.

Der einzige Unterschied ist, bei Delphi und Qt (wenn statisch gelinkt) 
schleppt jede Anwendung den Rucksack mit, statt das er zentral für alle 
gut erreichbar ist (bei Java bringen die Anwendungen auch mal gerne ihre 
eigenen JREs mit...).
Grundsätzlich stimme ich aber zu: C++ für GUI-lastige (außer das 
Ergebnis ist ein GUI-Toolkit oder z.B. eine Spieleengine) oder 
allgemeiner für nicht extrem zeitkritische Anwendungen ist 
Zeitverschwendung,

> W.S.

von klassenfreund (Gast)


Lesenswert?

Wenn du kostenlos und minimals haben willst, würde ich dir Codeblocks 
als IDE, Win32++ als Klassenbibliothek und den Microsoft C++ Compiler 
(oder ggf. Mingw) empfehlen

Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.