ubuntuusers.de

Qt oder GTK+?

Status: Gelöst | Ubuntu-Version: Ubuntu 20.10 (Groovy Gorilla)
Antworten |

toobi7007

Anmeldungsdatum:
13. März 2020

Beiträge: Zähle...

Hallo 😀 Ich muss für die Uni ein GUI Programm in C++ entwickeln und bin gerade am Überlegen, welches Framework dafür am besten geeignet wäre. Ich lese hier viel hin und her, bin mir aber einfach unsicher welches für den Einstieg am besten wäre. Wenn ich mich in eines einlesen würde, würde ich mich auch in Zukunft mehr damit beschäftigen und darauf aufbauen. Speziell soll es das Spiel Go werden, falls es jemand kennt. 😀 Über eine Empfehlung würde ich mich freuen.

schollsky

Anmeldungsdatum:
3. Dezember 2012

Beiträge: 1730

Wohnort: Ruhrgebeat

Visual Studio Code von Microsoft läuft dank Canonical und vielen anderen guten Leuten inzwischen auch unter Linux, ist allerdings sehr mächtig und möglicherweise von zu großem Funktionsumfang. Mit bloßem Einlesen ist es da nicht getan. Go ist ein hochkomplexes Spiel. Wieviel Semester Zeit hast Du denn dafür eingeplant?

Viel Erfolg!

woko1754

Anmeldungsdatum:
12. November 2008

Beiträge: 801

Wohnort: Lübeck

Qt ist in C++ geschrieben, GTK in C. Daher würde ich Qt nehmen.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11265

Wohnort: München

toobi7007 schrieb:

Ich muss für die Uni ein GUI Programm in C++ entwickeln und bin gerade am Überlegen, welches Framework dafür am besten geeignet wäre.

Es muss ja nicht gleich QT oder GTK sein, für Spiele könnte man z.B. auch die Pixel Game Engine von javidx9 (aka One Lone Coder) nehmen: https://github.com/OneLoneCoder/olcPixelGameEngine - die hat vergleichsweise wenig Abhängigkeiten, ist eine Header-only Library und bietet genug, um ein Grid mit Steinen zu zeichnen und Eingaben der Spieler auszuwerten. Die letzte interessante Neuerung war die Möglichkeit den C++ Code mit Emscripten nach WebAssembly zu transpilieren und so im Browser lauffähig zu machen.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9762

Wohnort: Münster

toobi7007 schrieb:

[…] welches Framework dafür am besten geeignet wäre

Das hängt auch sehr wesentlich davon ab, in welchem Umfeld und unter welcher Lizenz Du später Dein Programm verteilen möchtest. Informiere Dich also vorher, für welche Betriebssysteme die Bibliotheken unter welcher Lizenz verfügbar sind und prüfe, ob das mit Deinen Anforderungen übereinstimmt.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13213

woko1754 schrieb:

Qt ist in C++ geschrieben, GTK in C. Daher würde ich Qt nehmen.

Warum? C++ ist ja nicht per se einfach besser. Und übrigens gibt es ja auch C++-Bindings für GTK.

woko1754

Anmeldungsdatum:
12. November 2008

Beiträge: 801

Wohnort: Lübeck

rklm schrieb:

Warum? C++ ist ja nicht per se einfach besser. Und übrigens gibt es ja auch C++-Bindings für GTK.

C++ ist auf jeden Fall moderner und versteht auch alte C-Syntax. Außerdem will er in C++ entwickeln.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Ich empfinde Qt als einfacher, ist aber Geschmackssache. Dafür kannst du nicht alle Teile in OpenSource verwenden, da gibt es Einschränkungen und diverse Lizenztypen.
Falls du ein Handy mit Sailfish OS oder Plasma mobile hast oder haben willst, wäre Qt/QML auf jeden Fall das richtige. Dann kannst du das so entwickeln, dass es auf allen Plattformen läuft.

Wenn du das Standard-Ubuntu verwendest, nimm GTK. Das passt sich da am besten ein.

Wie seahawk1986 bereits schrieb, gibt es auch andere Möglichkeiten sowas unabhängig von einem dieser beiden großen Frameworks zu entwickeln. Ich habe mal mit ↗SFML rumgespielt. Das war recht einfach und sollte für deine Zwecke (Gitter, Spielsteine, Menü) ausreichen.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6507

Wohnort: Hamburg

schollsky schrieb:

Wieviel Semester Zeit hast Du denn dafür eingeplant?

Meinst Du für das Spiel?

Ich hatte mich auch mal an einem Programm versucht, das Go Aufgaben darstellt. Das war eines meiner Anfangsprojekte in C++. Macht aber nur die Darstellung und einfache Überprüfung der Spielzüge.

Das Problem der Speicherung von Spielzuständen im SGF-Format war mir dann aber doch zu groß. Ich habe dann abgebrochen.

Es gibt da allerdings eine libsgf.a. Die ist Bestandteil von gnugo. Vielleicht hilft dir das ja irgendwann, falls du so weit gehen willst. Aber ein Semester wird dann knapp.

Antworten |