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
Antwort
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.
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.
Ich werde es sehen, danke. – Dawzer
- 1. Wie funktioniert dieser iterative Turm von Hanoi? C
- 2. einfacher Turm von Hanoi-Code, wie Zeit auf 3 Sekunden statt 5 Sekunden
- 3. Türme von Hanoi Frage
- 4. Tower of Hanoi ohne Pufferstapel
- 5. Versuchen, Hanoi Algorithmus mit meinem eigenen Programm zu verstehen
- 6. Algorithmus für „Zirkus-Turm“
- 7. Transforming Türme von Hanoi Bewegungsablauf Konfigurationsfolge
- 8. Tower of Hanoi Rekursion java
- 9. Türme von Hanoi: Bewegliche Ringe von Peg nach Peg
- 10. Turm von Hanoi zeigt Ausgabe an. Wie wird 1 Registerkarte für den ersten rekursiven Anruf, 2 Registerkarten für den zweiten rekursiven Anruf usw. angezeigt?
- 11. So erhalten Sie aktuellen Turm Standort von Netzwerkbetreiber auf Android
- 12. Verwenden von Qt mit DirectX?
- 13. Verwendung von Qt Signale/Slots mit nicht-Qt Threads
- 14. Laden von Qt-Plugins beim statischen Verbinden mit Qt?
- 15. Entwickeln von Qt-Anwendungen in Unix-Systemen mit Qt Creator
- 16. Qt: Hinzufügen von UI-Elementen mit Qt-Skript
- 17. Wie Cell Turm Info auf einem Windows Mobile CDMA Telefon
- 18. Mühe, .gitignore Dateien auf OSX und Turm git GUI arbeiten
- 19. Wie man Tower of Hanoi in AEM Sightless
- 20. emittieren Qt-Signal von nicht Qt Thread oder außerhalb Qt Main Event Loop mit um 4,5
- 21. Android: Wie bekommt man die letzten 50 Zellen (Turm) Standortdetails?
- 22. PY QT mit QTableWidget
- 23. Hochladen von Dateien mit Qt QNetworkRequest
- 24. Installieren von Qt Creator mit MinGW
- 25. Qt: Verwenden von Enums mit QComboBox
- 26. Kompilieren Qt von Quelle mit nmake installieren
- 27. QT connect Signal von QDialog mit Hauptfenster
- 28. Show Webcam-Stream von OpenCV mit Qt
- 29. Wiedergabe von Remote-Sound mit QT
- 30. Ausführen von apt-get mit Qt (QProcess)
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