Beratung - Welches GUI-Paket nutzen?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
turbosoeckchen
User
Beiträge: 11
Registriert: Sonntag 8. September 2019, 15:35

Donnerstag 19. September 2019, 17:42

Hallo zusammen,

hier eine eher generelle Frage. Ich stehe gerade davor, eine GUI für ein kleines Spiel zu programmieren. Ich bräuchte einmal Euren Rat, zu welchem Framework Ihr mir für diese App raten würdet.
Bilder sprechen mehr als 1000 Worte :lol:
Bild

Mein Ziel ist es zu diesem Screenshot zu kommen:
Ich hätte also gerne ein Window, in dem Die Karte und alle Rauten (Blau, Grün, Gelb) erst einmal vorhanden sind. Die Rauten sollen Buttons darstellen, die dann weitere Funktionen ausführen.
Die Pfeile zwischen den Buttons würde ich gerne je nach Situation ein, bzw. ausblenden - auf einem individuellen Level.

Könntet ihr mir vllt sagen, mit welchem GUI-Paket eine solche Umsetzung am ehesten möglich ist?

Vielen Dank für alle Hinweise im Vorraus!

PS: Nur zur Sicherheit: Ich suche nach Tips welche Pakete/Paket dafür am sinnvollsten ist. Die Implementation übernehme ich selbstverständlich selbst.
Benutzeravatar
snafu
User
Beiträge: 5934
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Donnerstag 19. September 2019, 17:52

Ich würde da eine Kombination aus Qt Quick für das Design und PySide für die Anbindung nutzen.

Um eine erste Ahnung davon zu bekommen: https://doc.qt.io/qtforpython/tutorials ... l/qml.html

Und hier ein Video zum Thema: https://www.youtube.com/watch?v=JxfiUx60Mbg
Benutzeravatar
__blackjack__
User
Beiträge: 4228
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Donnerstag 19. September 2019, 18:53

Wenn man Qt Quick nicht verwenden möchte, gibt's bei Qt noch das ”klassische” „Graphics View Framework“.

Interessanterweise könnte man die GUI sogar ganz gut mit Tk's `Canvas` hinbekommen. Das Rahmenwerk lässt aber an anderen Stellen zu wünschen übrig.
“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”
— Terry Pratchett, Jingo
turbosoeckchen
User
Beiträge: 11
Registriert: Sonntag 8. September 2019, 15:35

Donnerstag 19. September 2019, 19:32

__blackjack__ hat geschrieben:
Donnerstag 19. September 2019, 18:53
Wenn man Qt Quick nicht verwenden möchte, gibt's bei Qt noch das ”klassische” „Graphics View Framework“.

Interessanterweise könnte man die GUI sogar ganz gut mit Tk's `Canvas` hinbekommen. Das Rahmenwerk lässt aber an anderen Stellen zu wünschen übrig.
Also ich habe mir gerade ein Tutorial für tkinter angeschaut und das meiste lässt sich tatsächlich damit recht einfach umsetzen, mit ein wenig Fummelei.
Due was ich gerade nicht sehe sind die ganzen Pfeile. Naja mit Bildern der Pfeile wäre es schon möglich, jedoch ein absoluter Wahnsinn!?

Entsprechend wäre es nett, wenn die Pfeile automatisch erzeugt werden könnten :)

Schon einmal danke für die Antworten.
__deets__
User
Beiträge: 6401
Registriert: Mittwoch 14. Oktober 2015, 14:29

Donnerstag 19. September 2019, 21:34

Ich würde in jedem Fall qt und dann einen QGraphicsView nehmen.
Benutzeravatar
__blackjack__
User
Beiträge: 4228
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Donnerstag 19. September 2019, 21:58

@turbosoeckchen: So ein Pfeil besteht aus einer Linie, einem Polygon/Dreieck (Pfeilspitze) und einem Kreis (das andere Ende). Das bietet `tkinter.Canvas` und lässt sich mit ein bisschen Mathe auch in eine Klasse verpacken.

Edit: Ist übrigens eine gute Gelegenheit Programmlogik und GUI sauber zu trennen – dann kannst Du das GUI-Rahmenwerk leichter wechseln und einfach mal verschiedene ausprobieren und schauen womit Du am ehesten warm wirst.
“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”
— Terry Pratchett, Jingo
turbosoeckchen
User
Beiträge: 11
Registriert: Sonntag 8. September 2019, 15:35

Freitag 20. September 2019, 14:08

__blackjack__ hat geschrieben:
Donnerstag 19. September 2019, 21:58
@turbosoeckchen: So ein Pfeil besteht aus einer Linie, einem Polygon/Dreieck (Pfeilspitze) und einem Kreis (das andere Ende). Das bietet `tkinter.Canvas` und lässt sich mit ein bisschen Mathe auch in eine Klasse verpacken.

Edit: Ist übrigens eine gute Gelegenheit Programmlogik und GUI sauber zu trennen – dann kannst Du das GUI-Rahmenwerk leichter wechseln und einfach mal verschiedene ausprobieren und schauen womit Du am ehesten warm wirst.
Das schöne ist, dass ich für diese "Pfeile" bereits eine Klasse habe.

Wie würde ich denn das ganze anfangen zu modellieren? Die Rauten sind alle über tkinter verteilt, die Deutschlandkarte als Hintergrund definiert.
Die Pfeile haben in sich bereits den Startpunkt (also den Knoten, an dem sie starten) und den Endpunkt definiert.
Antworten