Was für ein GUI ist am besten???
-
Hallo Leute!
Habe eine Frage .....
Ich brauche ein GUI sowohl für Windows als auch für Linux.
Keine Ahnung, ob ich Qt, GTK+, wxWidgets, CLX oder anderes verwendet sollte.Es sollte in C oder C++ implementierbar sein und sich dem Betriebssystem anpassen (Code nur ein einziges Mal schreiben, wenn möglich).
Wo bekomme ich die nötigen Ressourcen dafür, wo kann ich das unter Linux implementieren??Viele offene Fragen, kann mir vielleicht jemand einen Tipp geben???
mfg
-
Hallo,
zuerst einmal solltest du dir diesen FAQ-Beitrag durchlesen.
Von C würde ich bei Desktop-Applikationen abraten, v.a. weil dir da nur Gtk+ als Toolkit bleibt. Bei C++ hast du weit mehr Möglichkeiten.
Bei deinen Anforderungen rate ich dir zu wxWidgets, das läuft unter Win und GNU/Linux (sowie OS X und den anderen Unixes), passt sich auf jeder Plattform dem nativen Stil an und ist daher auch flott.MfG
GPC
-
aha, danke mal dafür
das heisst, wenn ich das ganze jetzt unter linux implementiere, kann ich das programm später auch unter windows ausführen.
hab bereits ein program unter windows in mfc geschrieben, wo ich die serielle schnittstelle ansteuere.
kann ich das ungefähr so machen, dass ich in meinem source-code abfrage, unter welches OS dieses gerade läuft, damit ich dann beim zugriff auf die serielle schnittstelle unterscheiden kann (win --> win api, linux --> direkt)????
und mit welchen freien compiler kann ich das ganze in linux compilieren und implementieren???
mfg
-
gerfried schrieb:
aha, danke mal dafür
das heisst, wenn ich das ganze jetzt unter linux implementiere, kann ich das programm später auch unter windows ausführen.
jap, du musst es halt unter Windows neu kompilieren.
hab bereits ein program unter windows in mfc geschrieben, wo ich die serielle schnittstelle ansteuere.
kann ich das ungefähr so machen, dass ich in meinem source-code abfrage, unter welches OS dieses gerade läuft, damit ich dann beim zugriff auf die serielle schnittstelle unterscheiden kann (win --> win api, linux --> direkt)????
Das kannst/sollst du bereits zur Compile-Time festlegen:
#if defined( WIN32 ) || defined( __WIN32__ ) //Windows-Code #elif defined( linux ) || defined( __linux__ ) //Linux Code #else #error "Unsupported Operating System" #endif
und mit welchen freien compiler kann ich das ganze in linux compilieren und implementieren???
Mit der GCC, das ist *der* C(++) Compiler für *nix, Linux und *BSD. Ist bei fast jeder Linux-Distribution dabei. Von diesem Compiler gibt es auch einen Windows-Port, den MinGW.
MfG
GPC
-
Wer ehrlich ist, kann nur sagen: keine.
Es existiert leider zur Zeit keine perfekte GUI Library,
du wirst bei allen, die existieren abstriche machen müssen,
ob nun im Design, der Benutzbarkeit, dem Look, der Dokumentation, der Sprache etc.Ich hab mich vor einem halben Jahr für wxWidgets entschieden,
weil es native Widgets bietet, und somit unter Windows wie Windows
und unter Linux wie Linux auszusehen versucht, da gibts aber auch
Ausnahmen, wxGrid z.b. ist kein Natives GUI Element, sondern von wxWidgets
selbergezeichnet, aber recht gut erweiterbar.Wenn du gerne unter GPL entwickeln tust, dann kann ich dir auch QT empfehlen.
-
phlox81 schrieb:
Wer ehrlich ist, kann nur sagen: keine.
Es existiert leider zur Zeit keine perfekte GUI LibraryJa, das stimmt leider. Am besten du testet mal eingige bekannt aus und schaust welches deinem Anforderung gerecht wird und bei welchen du das beste Feeling hast
So mache ich das jedenfalls gerade und jetzt ist WxWidgets an der Reihe und momentan siehts so aus, das es gtkmm von der Spitze weg-kickt