Bestes GUI Kit in C?

W00dp3ckr  12.11.2023, 21:22

Soll es wirklich C sein und nicht C++?

Valentin2882 
Fragesteller
 13.11.2023, 12:22

Ja C und es soll ein Programm für Windows 7 bis Windows 11 sein. Und das GUI Kit muss nicht Krass sein es muss nur ein Stück zumindest Schönheit haben

4 Antworten

GTK ist da ziemlich gut, denn

  • quelloffen
  • damit zukunftssicher und lizenzkostenfrei
  • hat viele Funktionen, Widgets und Werkzeuge
  • sieht ziemlich gut aus im Standard

Gerade geht ja mit GTK4 und libadwaita die App-Entwicklung ziemlich an Fahrt an. Zumindest wenn man den wöchentlichen Blog von GNOME anschaut: https://thisweek.gnome.org/

Daneben ist TK sicherlich nicht schlecht, wird es doch von einigen Programmen genutzt.

Ich programmiere allerdings in C++/Qt, da mein Kopf mit Klassen und Objekten gut klar kommt. Rust+GTK wäre mir eigentlich lieber, aber dafür bin ich zu doof. 😝


Valentin2882 
Fragesteller
 12.11.2023, 17:09

Danke wäre es schlau Qt zu lernen falls man mal C++ programmiert oder ist das in C viel schlechter als GTK=ähnlich wie Tkinter?

0
julihan41  12.11.2023, 17:16
@Valentin2882

Das kommt wie immer darauf an, was du machen willst. Das beste Toolkit hilft dir nicht, wenn es auf dein Ziel nicht passt.

Ich habe damals halt an der Uni C++ direkt gelernt und mir dann Qt dazu erlernt. Hat für meine Zwecke bis heute super funktioniert. Das muss aber nicht für jeden Zweck und jede Person so sein.

Qt passt halt mit C++ gut zusammen, da es auch Objekte, Klassen usw. hat. Zu C ist das nicht so kompatibel. GTK dagegen ist in C geschrieben.

Da ich unter Linux arbeite, würde ich bei Qt oder GTK bleiben. Vielleicht EFL noch, wenn die ihre Portierung abgeschlossen haben, oder Rust+Iced, wenn die ein stabiles 1.0 release haben.

1
W00dp3ckr  12.11.2023, 21:22

Hast Du bei Rust+GTK Tipps, wie man anfangen kann?

0
julihan41  12.11.2023, 21:29
@W00dp3ckr
  1. Rust lernen: https://doc.rust-lang.org/stable/book/
  2. GTK-RS lernen : https://gtk-rs.org/gtk4-rs/stable/latest/book/

Mehr kann ich allerdings da nicht helfen, da ich da nicht genügend Geduld hatte, Qt ja bereits kenne und mein Programm mit dem mir da bekannten Qt geschrieben habe bzw aktuell noch entwickle. 🙈

Rust habe ich noch geschafft 😝 und dann mit Iced weiter gemacht. Aber das war nicht das, was ich brauche, bzw. aktuell halt noch in Entwicklung mit Version 0.10.

An sich scheint Rust + GTK aber richtig gut zu sein, so viele Apps wie es aktuell damit auf Flathub gibt und immer mehr dazu kommen.

1
W00dp3ckr  12.11.2023, 21:32
@julihan41

Rust ist halt gewöhnungsbedürftig, für meinen Bereich leider auch langsam. Wir machen viel XML Processing und die Bibliotheken sind so langsam, das Python gewinnt.

Aber Rust ist auch sehr schön, daher dachte ich, dass GTK-RS vielleicht eine schöne Fingerübung wäre.

0
julihan41  12.11.2023, 21:37
@W00dp3ckr

Sollte sich definitiv lohnen. Für mich privat war es nichts.

Aber alleine Speichersicherheit von Rust ist halt ein großer Gewinn, aber auch durchaus anstrengend anfangs.

0
W00dp3ckr  12.11.2023, 21:47
@julihan41

Genau so. Ich frage mich halt, ob Funktionale sprachen dann nicht vielleicht geringere Kosten haben, wenn man versucht möglichst wenig mit Zuweisungen zu machen.

0
julihan41  12.11.2023, 21:53
@W00dp3ckr

Bei den Überlegungen bin ich raus. Bin nur Mathe und Chemie Lehrer, der mit Linux arbeitet und für sich ein Programm schreibt und dafür halt was nutzt, was er mal gelernt hat. 😅

1
W00dp3ckr  12.11.2023, 22:03
@julihan41

Ah, OK, Respekt. Bei mir gibt es viele Altentwicklungen, die über Jahrzehnte fortgeführt werden, aber ab und an gibt es etwas Neues. Und da ist es dann schwer zu entscheiden, was man macht. Macht man, was man schon kann, oder lohnt sich ein komplett neuer Weg? Daran hängt immer die Einarbeitung des Teams vs. zu erwartender Ersparnis durch die angepriesenen Vorteile einer Technologie. In dem Fall Rust: Schneller Code mit wenig Wartung. Nicht angepriesen aber Fakt ist: Man muss sich auf neue Ideen einlassen und die sind so anders als das, was man gewohnt ist, dass man anfangs viel langsamer ist.

1

Wenn es C und Cross-Platform sein soll, dann ist die Liste sehr kurz: GTK+

Ob es ein bestes gibt weiß ich nicht. Das letzte, das ich verwendet hatte, war imGui.

Wird wohl auch von diversen größeren Spielefirmen gefördert.


Valentin2882 
Fragesteller
 12.11.2023, 17:06

Was halten Sie von: Windows API (WinAPI)

0
Destranix  12.11.2023, 17:07
@Valentin2882

Keinen Plan. Ist wahrscheinlich schwierig zu nutzen. Und natürlich geht das nur auf Windows dann.

2

Wenn es C sein soll und Windows, dann entweder Windows SDK (aber das ist C++, oder?) oder GTK+, wie hier mehrfach vorgeschlagen. Wenn es C++ wäre, dann würde ich Qt vorschlagen.


Valentin2882 
Fragesteller
 13.11.2023, 12:25

Eine Frage noch warum wird so häufig dann die Windows API verwendet?

0
W00dp3ckr  13.11.2023, 12:26
@Valentin2882

Kommt halt drauf an, was Du willst. Wenn Du Windows willst, alles aus Windows, möglichst effizient etc. dann setz direkt auf Windows auf oder nimm etwas, was genau das kann, was Du willst und es wahrscheinlich effizienter macht als Du es mit Deiner Zeit machen kannst. GTK ist open Source, und davor haben viele Angst. Aber GTK ist auch schon lang dabei und wird auf Sicht bleiben, darum ist das Risiko gering.

1
Valentin2882 
Fragesteller
 13.11.2023, 12:29
@W00dp3ckr

Ich möchte mit C oder C++(QT dann) ein fps optimierungsprogramm machen und nun such ich das beste gui programm für C weil ich C C++ vorziehen würde durch neu zugewonnene Erkentnisse.

0
Valentin2882 
Fragesteller
 13.11.2023, 12:30
@W00dp3ckr

Quasi ich hab einen PC lad mir das Programm runter und habe dann knöpfe wo ich z.B.: direkt den Energiesparmodus auf Höchstleistung stellen kann oder anderes.

0