2016-03-19 18 views
0

Ich versuche, eine GUI für einen Turm von Hanoi Anwendung mit Qt erstellen. Ich habe den C++ Code bereits mit Rekursion geschrieben, aber ich bin ein absoluter Anfänger, wenn es darum geht, mit Qt zu arbeiten und GUI's zu erstellen und habe mich gerade erst damit vertraut gemacht, indem ich eine einfache Taschenrechner-GUI erstellt habe, aber keine klare Vorstellung davon habe Tower of Hanoi GUI speziell zum Erstellen der Festplatten und Pegs grafisch. Irgendwelche Tipps oder Hinweise auf wo zu beginnen wäre willkommen. Vielen Dank.Turm von Hanoi mit Qt

+0

Es gibt viele Möglichkeiten, aber für den Anfang würde ich empfehlen, nur ein paar Tasten zu platzieren und sie entsprechend zu verschieben. – MikeMB

Antwort

0

Ich kann 2 Möglichkeiten empfehlen:

Man würde eine OpenGL-Leinwand in Ihrem Fenster verwenden und Objekte in Ihre 2D-Szene geladen haben. Und wenn Sie die Objekte bewegen oder drehen müssen, müssen Sie nur über die Funktionen zum Übersetzen und Drehen wissen.

Sie müssten dies nicht mit modernen OpenGL tun, da es zu Beginn sehr überwältigend sein könnte. Aber OpenGL mit fester Pipeline (Legacy-Version) wäre ziemlich einfach zu erlernen. Allerdings sollte ich erwähnen, dass QT und OpenGL aufgrund der QT ein wenig Schwierigkeiten bereiten können, wenn sie für Anfänger verwendet werden.

Das andere wäre der QPainter zum Laden und Zeichnen von 2D-Bildern (von Komponenten von Türmen). Es wäre nicht so realistisch wie ein OpenGL-Equalent, aber es würde auch den Job erledigen.

Die folgenden Funktionen finden Sie unter QPainter. Es hat fast alles, was Sie brauchen würden, und um ein Teil zu verschieben, rendern Sie einfach mit den Anfangspositionswerten, die dem Offset hinzugefügt wurden.

http://doc.qt.io/qt-5/qpainter.html

Ich empfehle auch ein paar Videos auf Youtube über die Übersetzung in der Computergrafik zu beobachten, die Logik hinter dieser gemeinsamen Funktionalität über das Verschieben Dinge in einer Szene in Mengen abhängig von anderen Bedingungen zu verstehen.

1

Ich schlage vor, einen Blick auf QGraphicsScene zu werfen. Es wird eine Weile dauern, um sich vertraut zu machen, aber es ist das richtige Qt-Tool für die Handhabung dieser Art von Dingen.

Im Grunde ist QGraphicsScene eine abstrakte Darstellung von, nun, eine Grafikszene. Es ist ein virtuelles Canvas-Objekt, dem Sie Grafikelemente (QAbstractGraphicsItems) mit verschiedenen Formen und Positionen hinzufügen können. Es kann dann in einer speziellen Ansichtsklasse mit dem Namen QGraphicsView gerendert werden.

Ein guter Ausgangspunkt ist das Beispiel "40000 Chips" in Qt Creator.

+0

Ich werde es sehen, danke. – Dawzer

Verwandte Themen