我正在尝试创建一个使用Qt的汉诺塔应用程序的GUI。我已经写了C++代码使用递归,但我完全是一个初学者,当涉及到与Qt和创建图形用户界面的工作,并刚刚开始熟悉它创建一个简单的计算器图形用户界面,但不清楚如何处理汉诺塔图形用户界面,特别是如何创建的磁盘和图形化。任何关于从哪里开始的提示或指示都将受到欢迎。谢谢。
发布于 2016-03-20 05:52:53
我建议去看看QGraphicsScene。这将需要一段时间来熟悉,但它是处理这类事情的合适的Qt工具。
基本上,QGraphicsScene是图形场景的抽象表示。它是一个虚拟画布对象,您可以向其中添加具有各种形状和位置的图形项目(QAbstractGraphicsItems)。然后可以在一个名为QGraphicsView的专用视图类中呈现它。
Qt Creator中的“40000筹码”示例就是一个很好的起点。
发布于 2016-03-20 05:49:10
我可以推荐两个选项:
一种方法是在窗口中使用OpenGL画布,并将对象加载到2D场景中。当您需要移动或旋转对象时,您只需了解平移和旋转功能。
你不需要用现代的OpenGL做到这一点,因为在开始的时候它可能是压倒性的。但是具有固定管道(遗留版本)的OpenGL将非常容易学习。然而,我应该提到的是,由于QT的存在,QT和OpenGL一起使用对于初学者来说可能有点麻烦。
另一个是加载和绘制2D图像(塔的组件)的QPainter。它不会像OpenGL等式一样现实,但它也能完成工作。
您可以在以下链接中找到通过QPainter提供的功能。它几乎具备了您需要的所有功能,只需使用添加到偏移量的初始位置值进行渲染即可。
http://doc.qt.io/qt-5/qpainter.html
我还建议在Youtube上观看一些关于计算机图形翻译的视频,以了解这种常见功能背后的逻辑,即在场景中移动物体的数量取决于其他条件。
https://stackoverflow.com/questions/36107507
复制相似问题