Suche C++ Gui-Toolkit

  • Ich suche jetzt seit zwei Wochen aktiv nach einem Gui-Toolkit für c++.

    Soll soll auf Android, Windows, Mac und Linux laufen.

    Ich benötige ein paar Draw funktion ähnlich wie ein Canvas von Javafx/Javascript also alles 2D.

    Ein paar sachen soll es allerdings mehr können:

    • Man soll gerenderten text markieren können
    • Texte sollen sowohl von System fonts als auch von TTF Schriftarten gerendert werden können
    • Es soll simple Input elemente geben wie Buttons, Input felder etc

    Ich möchte alle elemente mit einer Exakten Position rendern. Also kein autoalign oder resize anpass kram.

    Die draw Funktionen, Texte und Input Elemente sollen in einem sein. Also wenn ich zuerst einen Button render und darüber eine Box soll der Button nicht mehr zu sehen sein.

  • QT ist das beste mir bekannte C++ Framework, um sowas zu machen.


    Es vereinfacht durch viele Hilfsklassen (z.B. QString) extrem die C++ Entwicklung, bietet sehr viele Konfigurationsmöglichkeiten und läuft auf allen deiner genannten Plattformen. Ebenso passt es sich sogar an das jeweilige Betriebssystem Design an (Außer du zeichnest dein Zeug selbst, würde aber in so einem Fall eher die Qt Controls mit CSS designen)

  • Vielen dank für euren Vorschlag Howaner und MegaDampfnudel

    Wie gesagt suche ich schon seit zwei Wochen und das QT Framework habe ich auch gesehen.

    Besonders nach diesem Video war ich ziemlich beeindruckt. Aber es erfüllt nicht wirklich den Zweck wofür ich es brauche.

    1. Draw und Input Elemente verschmelzen nicht miteinander also wenn ich ein draw feld mache und darüber ein Button dann auf das Draw feld male ist es trotzdem darunter.
    2. Text den ich auf dem Draw Feld render kann man nicht markieren
    3. Es ist mehr so ich mache einen Vertikalen kasten in den mache ich einen Horizontalen Kasten und darin 3 Buttons aber ich möchte wirklich die Positionen genau mit Pixeln bestimmten möchten

    Also im wesentlich wäre QT für mich super wenn man den Text auf einem DrawFeld markieren könnte und man Input sachen direkt auf das Drawfeld malen kann(ich weiss das es über umwege geht allerdings funktionieren die Input sachen dann nicht mehr)



    Also im Prinzip Suche ich sowas wie es auch Webkit und Gecko brauchen: Simples malen mit Input Elementen und markierbaren text!

  • Ich kann mir nicht vorstellen, das deine Idee funktionieren wird.

    Du willst ein Plattformunabhängiges Programm (Smartphone, Windows und Linux), das aber mit genauen Pixeln gezeichnet wird?

    Dir ist bewusst, das die verschiedenen Plattformen komplett unterschiedliche Skalierungen / Auflösungen haben und man Fenstergrößen ändern kann?


    Ebenso kannst du unter Qt, wenn du kein Layout verwendest, auch die einzelnen Elemente an die genauen Pixel setzen.

    Warum willst du den Text überhaupt rendern und nicht einfach ein Label an die Position setzen und den Text da rein schreiben?

    Warum willst du ein Draw Feld über einen Button legen und nicht einfach mit CSS den Button bearbeiten?


    Deine Vorgehensweise benutzt man in der Spieleprogrammierung, aber um Gottes Willen nicht in einer normalen Window-Anwendung.

    Dir sollte auch klar sein, das es unmöglich ist, gerenderten Text zu markieren (Außer du baust dir das markieren selbst). Das markieren ist eine Eigenschaft vom Label, nicht von einem einfachem Text.

  • Vielen Dank für deine Wertvolle Antwort Howaner  

    Ich kann mir nicht vorstellen, das deine Idee funktionieren wird.

    Du willst ein Plattformunabhängiges Programm (Smartphone, Windows und Linux), das aber mit genauen Pixeln gezeichnet wird?

    Dir ist bewusst, das die verschiedenen Plattformen komplett unterschiedliche Skalierungen / Auflösungen haben und man Fenstergrößen ändern kann?

    Ist uns durchaus bewusst.


    Deine Vorgehensweise benutzt man in der Spieleprogrammierung, aber um Gottes Willen nicht in einer normalen Window-Anwendung.

    Ja dachten wir uns auch. In OPENGL kennen wir uns beide gut aus aber da ist textrendern den man markieren kann ja auch blöd und für Textboxen muss man die ganze Zeit den Bildschirm neurändern. Deshalb haben wir so was eigentlich auch gleich ausgeschlossen.

    Ebenso kannst du unter Qt, wenn du kein Layout verwendest, auch die einzelnen Elemente an die genauen Pixel setzen.

    Warum willst du den Text überhaupt rändern und nicht einfach ein Label an die Position setzen und den Text da rein schreiben?

    Danke du hast mich auf eine Idee gebracht.


    Kann ich nicht wie du meintest Text und Controls mit den Positionen Rändern und immer wenn ich Striche und Formen machen will eine neue Draw Area machen?

    Irgendwie ist ein Gefühl in mir was mir sagt das es unschön ist :)

    Was hältst du davon?