Skinfähige, plattformübergreifende, kostenlose GUI-Bibliothek für C++

Frage

Ich suche eine GUI-Bibliothek mit den folgenden Eigenschaften:

  • C++
  • Multiplattform (Windows, Unix) und vorzugsweise Multicompiler (Visual, GCC, Clang)
  • Skinnable (d. h. gute Unterstützung zum Steuern des Aussehens von Standardsteuerelementen)
  • Offen und frei für kommerzielle Nutzung, kein Copyleft (dh MIT, Apache, keine GPL)

Die beabsichtigte Verwendung ist eher eine technische Desktop-Anwendung wie Blender, Eclipse oder eine Musik-/Videobearbeitungssoftware als ein Spiel oder ein MP3-Player. Es erfordert typische Steuerelemente (eine Menüleiste, Schaltflächen, Bearbeitungsfelder, Kontrollkästchen, vorzugsweise andockbare Fenster, ...), ich möchte nur deren Aussehen anpassen können. Ansonsten wäre wxWidgets perfekt. Die Anwendung soll unter einer Apache-ähnlichen Lizenz veröffentlicht werden, daher das Problem mit Copyleft oder kommerziellen Bibliotheken.

Etwas Hintergrund

Mir ist klar, dass solche Fragen schon seit einiger Zeit im Raum stehen, aber bisher habe ich keinen sehr vielversprechenden Kandidaten gefunden. Einige Bibliotheken, die ich mir genauer angesehen habe, sind:

  • wxWidgets mit wxUniversal : Klingt gut, aber ich habe mehrere Berichte gelesen, die fehlende Funktionen und einen Mangel an Tests auf gängigen Plattformen behaupten; auch scheint es nicht sehr kürzlich gewartet worden zu sein. Aber ich brauche eine stabile, zuverlässige Plattform.
  • Qt : Scheint fähig zu sein, aber die Lizenz ist nicht mit dem Projekt kompatibel.
  • gtkmm : Ist ein möglicher Kandidat, aber die Dokumentation ist nicht ideal und meines Wissens sollen Themen separat auf dem Betriebssystem installiert werden, nicht mit der Anwendung ausgeliefert werden. Ich bin mir auch nicht sicher, was den Windows-Support angeht.
  • IMGUI : Der Look wirkt sehr fremdartig.
  • JUCE : Scheint sehr gut zu sein, aber die Lizenz ist wieder nicht kompatibel.

Eine interessante Übersicht habe ich hier gefunden:

http://blog.johnnovak.net/2016/05/29/plattformübergreifende-gui-trainwreck-2016-edition/

Dies geht durch eine Liste von Programmen mit angepassten GUIs, von denen viele gute Beispiele dafür sind, was ich erreichen möchte. Abgesehen davon scheint der Artikel tatsächlich darauf hinzudeuten, dass keine geeignete Bibliothek existiert, aber ich würde mich sehr über einen gegenteiligen Hinweis oder einige praktische Erfahrungen mit wxUniversal (und wxAUI) freuen. Ich danke Ihnen sehr.

Antworten (1)

Nicht genau das, wonach Sie suchen, aber Sie könnten Chromium Embedded Framework in Betracht ziehen .

Aus Wikipedia : Das Chromium Embedded Framework (CEF) ist ein Open-Source-Framework zum Einbetten einer Webbrowser-Engine, die auf dem Chromium-Kern basiert. Es ermöglicht Entwicklern, eine Webbrowser-Steuerung hinzuzufügen und eine HTML5-basierte Layout-GUI in einer Desktop-Anwendung zu implementieren (...)

Lizenz: BDS

Darauf wurde zum Beispiel Visual Studio Code aufgebaut .

Die Idee wäre, die Benutzeroberfläche Ihrer App in HTML und den Code-Behind in C++ zu entwickeln.

Ja, ich bin mir nicht sicher, ob das wirklich passt, aber es sieht auf jeden Fall sehr interessant aus und ich habe in diesem Zusammenhang noch nichts davon gehört. Danke sehr!