使用Qt的河内塔

时间:2016-03-19 21:38:06

标签: c++ qt user-interface

我正在尝试使用Qt为河内应用程序塔创建GUI。我已经使用递归编写了C ++代码,但在使用Qt和创建GUI时我是一个初学者,并且刚刚开始通过创建一个简单的计算器GUI熟悉它但没有一个明确如何解决河内塔的GUI,特别是如何以图形方式创建磁盘和钉。 任何有关从哪里开始的提示或指示都是受欢迎的。谢谢。

2 个答案:

答案 0 :(得分:1)

我建议您查看QGraphicsScene。熟悉它需要一段时间,但它是处理这类事情的正确Qt工具。

基本上,QGraphicsScene是图形场景的抽象表示。它是一个虚拟画布对象,您可以向其添加具有各种形状和位置的图形项(QAbstractGraphicsItems)。然后可以在名为QGraphicsView的专用视图类中呈现它。

一个很好的起点是Qt Creator中的'40000芯片'示例。

答案 1 :(得分:0)

我可以推荐两个选项:

一个是在窗口内使用OpenGL画布,并将对象加载到2D场景中。当您需要移动或旋转对象时,您只需要了解平移和旋转功能。

您不需要使用现代OpenGL执行此操作,因为它可能在开始时势不可挡。但是具有固定管道(旧版)的OpenGL将非常容易学习。但是,我应该提一下,由于QT,QT和OpenGL一起用于初学者会有点麻烦。

另一个是QPainter加载和绘制2D图像(塔的组件)。它不像OpenGL那样真实,但它也可以完成工作。

您可以在以下链接中找到QPainter提供的功能。它几乎包含您需要的所有内容和移动零件,只需使用添加到偏移的初始位置值进行渲染。

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

我还建议在Youtube上观看有关计算机图形翻译的一些视频,以了解这个常见功能背后的逻辑,这些功能可以根据其他条件在场景中移动。

相关问题