GUI ohne zusatztool?
-
Hallo,
ich weiß nicht ob ich hier richtig bin, aber ich finde auch sonst kein Forum, in das mein Anliegen besser passt.ich würde mich nun langsam mal gerne der GUI-Programmierung widmen, jedoch finde ich überall nur beiträge und anleitungen zur Programmierung mit Zusatztools wie GTK oder QT oder ähnlichem.
Es muss jedoch auch möglich sein, eine grafische Oberfläche nur mit C bzw. C++ zu erstellen oder habe ich einen Denkfehler und es geht aus ganz elementaren Gründen nicht?Würde mich über Hilfe freuen.
-
C und C++ kennen keine GUI. Grafische Oberflächen sind nicht im Standard enthalten.
-
Die WinAPI stellt unter Windows die Schnittstelle für alles dar. Auch die Komponenten der C und C++ Standardbibliothek greifen auf die WinAPI zurück (unter Windows). Folglich enthält die WinAPI auch eine Schnittstelle für GUI (grafische Oberflächen).
Diese kannst du entweder direkt benutzen, oder du benutzt eben eine der Bibliotheken die du in deinem Beitrag schon genannt hast. Letztlich ist es Geschmackssache welche davon du benutzt. Du solltest dir alle einmal anschauen.
(Unter Linux ist es das selbe, nur das man dort verschiedene grundlegende Bibliotheken hat. Für GUI z.B. die X11 lib).
-
ok danke für die schnelle Antwort erst mal.
Also sind Guis im prinzip nur Bibliotheken von der Programmierung her gesehen(?), die ich theoretisch auch selbst schreiben könnte?
-
Jap, genau so ist es.
Allerdings handelt es sich IMHO um ziemlich komplexe Bibliotheken...
-
Exilit schrieb:
Also sind Guis im prinzip nur Bibliotheken von der Programmierung her gesehen(?), die ich theoretisch auch selbst schreiben könnte?
Ja. Aber wie bei allen Sachen: Wenn etwas fertiges existiert, das dir zusagt/mit deinen Richtlinien übereinstimmt und für dein Empfinden ausreichend gepflegt wird (wichtig bei Langzeitprojekten) oder du nur akademisch daran interessiert bist ("Ich will wissen wie das geht") solltest du nicht versuchen das selber zu schreiben.
Da die genannten Gui-Toolkits (wxWidgets, Qt4, ...) neben der erheblichen Erleichterung für dich auch noch plattformübergreifend funktionieren (du musst das Programm nur neu kompilieren und es läuft auf Windows/Linux/Mac/[32Bit/64Bit]/...), solltest du nur ein neues Gui-Toolkit schreiben, wenn du weißt was da auf dich zukommt. (Arbeitsaufwand, WinAPI/X11, Ergebniss,...)
-
das klingt einleuchtend
.
Um in die Tiefen von C++ einzudringen werde ich mich damit aber früher oder später(wohl eher später als früher) beschäftigen müssen oder?
Wenn dem so ist, kennt Jemand gute Literatur zum Thema, da ich bisher beim Stöbern im Web noch nicht viel finden konnte.
-
Exilit schrieb:
Um in die Tiefen von C++ einzudringen werde ich mich damit aber früher oder später(wohl eher später als früher) beschäftigen müssen oder?
Nein. Müssen schon gar nicht. Es handelt sich nur um eine GUI, interessant sind nur deine Vorlieben/Anforderungen.
Außerdem sind diese ganzen low-level-gui-Sachen eh in C geschrieben, für "die Tiefen von C++" ist das noch weniger interessant. Inverstier die Zeit in Sinnvolleres. (Tiefen von templates, Design-Patterns, ...)
-
kann mir Einer sagen was "low-level-gui-Sachen" sind?
-
Exilit schrieb:
kann mir Einer sagen was "low-level-gui-Sachen" sind?
WinAPI, XLib, ...