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


  • Mod

    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 Library

    Ja, 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 🙂


Anmelden zum Antworten