Einfache GUI bibliothek gesucht

Gast #6278401
Lesenswert?

Seas Leute. Ich bin auf der Suche nach einer Bibliothek mit der man so 
einfach wie möglich Fenster mit Buttons, Textfeldern usw. unter Windows 
erstellen kann, Sprache soll C++ unterstützt werden.

SFML ist z.B super einfach, bietet aber kein GUI. Bin auf eure Antworten 
gespannt.
Gast #6278437
Lesenswert?

Gibt auch noch GTK. Finde ich persönlich einfacher als Qt, aber das mag 
subjektiv sein. Weiss aber nicht inwiefern noch Bibliotheken unter 
Windows für das Verwenden von GTK noch installiert werden müssen
Beitrag #6278510 wurde von einem Moderator gelöscht.
Gast #6278732
Lesenswert?

ich bin kein fan von QT um ehrlich zu sein.. meistens sind die Resultate 
mir mangelhaft (ich sag nur avira)

Ebenso kein Fan bin ich von ultimate++ ( ultimatepp.org )
Es ist nichteinmal ne Bibliothek sondern eine vollständige 
Programmierumgebung mit compiler und vordefinierten Bibliotheken und 
editor und und und...
aaaaber es ist ziemlich nah an Einfach c++ und es kommt mit nem GUI 
Editor der zumindest ordentlich ist.
Ausserdem kostet es nix und kann als portable App genutzt werden

Ich würde es also dennoch in den Raum werfen wollen als
"kann man mal ausprobieren"

Ich gestehe für wirklich kleinkramigen kleinkram zum Hausgebrauch nutze 
ich das sogar selbst, obschon ich gerne und viel drüber schimpfe :D
Eben weil der GUI Editor recht komplett ist und ich schnell ne 
brauchbare GUI hinspucken kann ohne mir auch nur Ansatzweise Mühe zu 
geben
(wie gesagt: Hausgebrauch)

'sid
Gast #6278776
Lesenswert?

sid schrieb:
> ich bin kein fan von QT um ehrlich zu sein.. meistens sind die Resultate
> [von?] mir mangelhaft (ich sag nur avira)

Du hast die Avira-Oberfläche verbrochen? Ohje.
Aber schlechte Oberflächen kann man mit jedem Framework bauen, das 
hättest du sicher auch mit WinForms genausoschlimm hinbekommen.

Aber die Frage bezog sich ja auf "So einfach wie möglich" und nicht auf 
"verhindert schlechte Designs"... Da sind Frameworks mit einem 
GUI-Editor schon im Vorteil, also Glade, QT-Designer, 
Windows-Forms-Designer usw.

Buwe schrieb:
> Fenster mit Buttons, Textfeldern

klickt man dann einfach zusammen.
Gast #6279280
Lesenswert?

Entwiggler schrieb:
> Du hast die Avira-Oberfläche verbrochen? Ohje

Ne "mir mangelhaft" steht da nix von "für mich"..

aber schön zu wissen, dass Du die auch scheisse findest.
Das Design ist mir übrigens egal.. den cleanen look find ich 
nichtmalschlimm,
dass sie 2GB Ram frisst ohne grund find ich kagge;
das ist unter aller Sau!

'sid
Gast #6279285
Lesenswert?

Dennis S. schrieb:
> Ich bin kein Fan von Druckerzeugnissen um ehrlich zu sein.. meistens
> sind die Resultate mangelhaft (ich sag nur Bild)

LOOOL Touché!

Aber es gibt da mehrerer Beispiele für grauenhafte performance der GUI 
dank Qt..
mir fiel nur garad kein Zweites ein dass so weit verbreitet ist wie 
Avira.

'sid
Gast #6279297
Lesenswert?

WinForms, vom Marktführer. In der IDE vom Marktführer direkt 
unterstützt, da braucht es keine rangemurksten Schrott von Dritten wie 
Qt, Fltkack und den ganzen anderen Schrott aus den 90ern. Da bekommt man 
dann auch keinen Kotzanfall wenn man das Programm sieht oder muss 500MB 
Runtime mitinstallieren.
#6279819
Lesenswert?

Avonberater a.D. schrieb:
> WinForms, vom Marktführer.

Könntest du die Liste mit den Marktanteilen bei GUI-Frameworks grad mal 
posten? Wäre recht interessant.

> In der IDE vom Marktführer direkt unterstützt, da braucht es keine
> rangemurksten Schrott von Dritten wie Qt, Fltkack und den ganzen anderen
> Schrott aus den 90ern.

Man merkt, dass du nicht viel Ahnung von modernen GUI-Frameworks hast.

> Da bekommt man dann auch keinen Kotzanfall wenn man das Programm sieht oder
> muss 500MB Runtime mitinstallieren.

Aber auch nur, wenn die 5 GB an Runtime schon vorher in genau der 
benötigten Version installiert worden sind.
Gast #6279835
Lesenswert?

sid schrieb:
> Aber es gibt da mehrerer Beispiele für grauenhafte performance der GUI
> dank Qt..
Das Performance-Thema hat wohl kaum etwas mit Qt zutun sondern damit, 
was da im Hintergrund gemacht wird.

Avonberater a.D. schrieb:
> muss 500MB
> Runtime mitinstallieren.
Qt5 ist modular und die Größe der Libs zum Ausführen sind weit da 
drunter.

Rolf M. schrieb:
>> In der IDE vom Marktführer direkt unterstützt, da braucht es keine
>> rangemurksten Schrott von Dritten wie Qt, Fltkack und den ganzen anderen
>> Schrott aus den 90ern.
> Man merkt, dass du nicht viel Ahnung von modernen GUI-Frameworks hast.
Da hast du Recht.
Gast #6279981
Lesenswert?

> Das Performance-Thema hat wohl kaum etwas mit Qt zutun sondern damit,
> was da im Hintergrund gemacht wird.

Naja, Qt ist nicht nur eine Grafikbibliothek sondern auch eine RIESIGE 
Klassenbibliothek/Library. Man muss sich ja nur mal anschauen was man 
alles mit QString machen kann. Diese Bibliotheken sind nicht nur alle 
zufaellig dabei, sie werden auch von Qt selber genutzt. Man muss sich 
also auch damit auseinandersetzen ob einen das gefaellt oder nicht. Das 
ist natuerlich toll und macht vieles einfach wenn man es kann, aber zu 
Anfang ist das schon ein grosser Berg den man lernen muss.

Das Problem ist IMHO das die Entwickler dieser Systeme immer vergessen 
das es auch Leute gibt die ihre Anwendung nicht 40h/Woche nutzen sondern 
nur ab und an mal eine Kleinigkeit machen wollen.

Trotzdem bin ich aber der Meinung das sich der nicht unerhebliche 
Lernaufwand gerade bei Qt lohnt weil man dieses Wissen auf jedem System 
nutzen kann. (Win, Mac, Android, Symbian, Embedded)

Olaf
Gast #6279987
Lesenswert?

jkzu schrieb:
> Das Performance-Thema hat wohl kaum etwas mit Qt zutun sondern damit,
> was da im Hintergrund gemacht wird.

Naja das wär schön.. aber NULL wird im Hintergrund gemacht bei meiner 
HassGUI von Avira.. absolut exakt genau garnix!
(drei threads, nahe NULL CPU last [0.7-1.3%], wahnwitzige Speicherlast)
Nur dieser schitt "clean" StartGui mit den paar Buttons
Wenn ich diese scheiss QT clean-gui hinter mir habe wird etwas gemacht 
und das ganze wird deutlichst performanter. (weit weniger Speicherlast, 
deutlich höhere CPU Last) Einstellungen ändern, Quarantäne säubern 
etc...
alles läuft wunderbar, die GUIs da sind altertümlicher aber 
funktionieren tadellos.. das weisse startding ist schlicht scheisse!

Ich halte die Jungs von Avira generell eher für begabt,
ich würde soweit gehen zu sagen "leicht überdurchschnittlich begabt" 
sogar.
aber das Ding ist eine absolute ZUMUTUNG
(meine Karre hat 16 Zylinder und 96GB Hubraum es sollte ihr also möglich 
sein
ne verkaggte Antivirus Start GUI über den Monitor zu ziehen)
Aber da bin ich schneller durch n Olympischen Pool mit Honig 
geschwommen.
Glücklicherweise muss man ja nur alle 400 Jahre mal die Einstellungen 
ändern sonst wär ich auch echt schon ramdösig geworden von dem scheiss.

Und ja ich fürchte es liegt an Qt,
denn ich hab aus diesem Grund schon mehr Software deinstalliert als mir 
lieb gewesen wäre, und immer war Qt im Spiel.
Avira ist leider für mich immernoch Alternativlos, deswegen bleibt's 
halt.

Man war das schön als QT noch QuickTime bedeutet hat und mein einziges 
Problem war den blöden Appple Player daran zu hindern sich in den 
Browser reinzuzecken.

'sid

PS auf meiner alten Kiste läuft auch Avira (alte version ohne Qt.. 
single core cpu 2GB ram.. anklicken aufpoppen, weiterklicken.. flüssig 
wie's soll.. alles tutti!)
Gast #6280066
Lesenswert?

Falls ihr mal was perverses machen wollt:

Ich hab letztens mal lvgl in Qt implementiert. Meine Intention dabei war 
einen komplexen Sourcecode der auf einem Mikrocontroller laeuft ein 
wenig komfortabler im Creator zu debuggen. Aber natuerlich koennte man 
mit sowas auch sehr einfach Grafikanwendungen schreiben die nur sehr 
wenig koennen und wo man wenig lernen muss. Als Bonus hat man dann die 
Moeglichkeit sein Programm hinterher einfach auf einem Mikrocontroller 
laufen zu lassen. Positiv ueberrascht hat mich lvgl dahingehend das es 
sich wirklich einfach so ohne Probleme auf und fuer den PC uebersetzen 
liess!

Nur mal so als Idee was geht. :-)

Olaf
Gast #6280210
Lesenswert?

> Lvgl hat doch schon selber eine PC Emulation?

Davon hab ich im Source nix gesehen. Es werden ja im Prinzip nur zwei
Routinen aufgerufen welche Pixel ausgeben. Die hab ich in Qt geschrieben
und von da an macht dann bei mir lvgl alles alleine.

Olaf
Moderator #6280556
Lesenswert?

Vincent H. schrieb:
> imgui dürft in letzter Zeit recht beliebt sein:
> https://github.com/ocornut/imgui

Ich habe das mal ausprobiert und bin begeistert. Danke für den Tipp!

Das Ding ist genauso genial wie banal: Jede Widget-Instanz ist ein
einfacher Funktionsaufruf, und das war's auch schon :)

In klassischen GUI-Bibliotheken muss man pro Widget i.Allg. folgendes
tun:

- das Widget instanziieren

- das Widget registrieren (ok, geht oft auch automatisch bei der
  Instanziierung)

- eine Callback-Funktion für das Auslesen des Widget-Status bei
  Änderungen durch den Benutzer schreiben und registrieren

- zum Beschreiben des Widget-Status eine Memberfunktion aufrufen

Bei Dear ImGui geht das alles tatsächlich in einem einzigen
Funktionsaufruf. Entsprechend kurz und knackig wird der damit
geschriebene GUI-Code. Es gibt keine Objekte (im Sinne der OOP), keine
Callbacks und keine Events, weswegen der Einarbeitungsaufwand selbst für
jemanden, der diese Begriffe noch nie gehört hat, sehr gering ist.

Gemessen an der Vielzahl an implementierten Widget-Typen ist die
Bibliothek sehr klein, sie umfasst gerade mal 700 KB. Damit wird sie
üblicherweise nicht auf dem Zielsystem installiert, sondern einfach
statisch gelinkt.

Dear Imgui kann auf praktisch jedem Gerät benutzt werden, das OpenGL,
Vulkan, DirectX oder Metal unterstützt. Auch Webbrowser-Anwendungen sind
mittels Emscripten möglich. Hier ist eine Demo, die die meisten der
implementierten Features zeigt:

  http://www.dearimgui.org/webdemo/master/example_emscripten.html

Diese Anwendung, nativ auf einem PC kompiliert und statisch gelinkt, ist
gerade mal 850 KB groß.

Ich dachte immer, GUI-Programmierung sei die Domäne für die OOP. Hier
wird aber gezeigt, dass es rein prozedural sogar noch einfacher und
übersichtlicher geht. Bisher scheint dieser so genannte "Immediate Mode"
vor allem in der Spieleentwicklung Anwendung zu finden. Ich bin mal
gespannt, ob er künftig auch für "gewöhnliche" Anwendungen eine größere
Rolle spielen wird.

Die Bibliothek hat natürlich auch ihre Nachteile und Einschränkungen,
aber für mich persönlich sind diese wenig relevant. Zudem lassen sich
einige davon mit geringem Aufwand umgehen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren