首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Qt的河内塔

使用Qt的河内塔
EN

Stack Overflow用户
提问于 2016-03-20 05:38:06
回答 2查看 663关注 0票数 0

我正在尝试创建一个使用Qt的汉诺塔应用程序的GUI。我已经写了C++代码使用递归,但我完全是一个初学者,当涉及到与Qt和创建图形用户界面的工作,并刚刚开始熟悉它创建一个简单的计算器图形用户界面,但不清楚如何处理汉诺塔图形用户界面,特别是如何创建的磁盘和图形化。任何关于从哪里开始的提示或指示都将受到欢迎。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-03-20 05:52:53

我建议去看看QGraphicsScene。这将需要一段时间来熟悉,但它是处理这类事情的合适的Qt工具。

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

Qt Creator中的“40000筹码”示例就是一个很好的起点。

票数 1
EN

Stack Overflow用户

发布于 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上观看一些关于计算机图形翻译的视频,以了解这种常见功能背后的逻辑,即在场景中移动物体的数量取决于其他条件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36107507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档