为了给你一个想法,这里是最初原型的截图:
使用了大量动画,3D也是如此,但GUI小部件的行为与标准桌面应用程序中的大致相同.
到目前为止,我一直在使用自己的GUI库(它不健壮或完整,我遇到了一些问题).
考虑到它的声誉和令人印象深刻的功能,以及Qt网站上的一些很好的截图,我一直在考虑迁移到Qt.但我之前从未使用过Qt,所以我真的不知道它的功能是什么,或者学习它需要多少时间投入. (注意我使用过FLTK).
我的问题是:在这种情况下使用Qt是否可行/可行?
更新:在Qt中模拟了一些游戏画面后,我决定不使用它.虽然它支持我开箱即用的许多功能(特别是通过样式表),但我需要支持基于位图的自定义预渲染字体(我无法转换/替换它们).而且我不能将QFont子类化,或者在未来的Qt版本中重新实现它.也就是说,我对Qt印象非常深刻(其易用性和良好的文档).我将为我自己的引擎借用它的一些功能.感谢所有提供输入的人.
解决方法
一个是你可能想在图形视图框架上考虑QtQuick,但这真的取决于你需要做什么.我只是想把它扔出去作为替代,所以你不要错过它.这个tutorial使用QtQuick组合了一个非常光滑的连接四风格游戏.这可能比你想要的更简单,但话说再说,也许不是,这取决于你需要做什么.
其次,在为所有按钮编写自定义绘制事件之前,我会考虑使用Qt Style Sheets并使用类似CSS的语法来设置小部件的样式.这将允许您以非常灵活的方式快速更改GUI的外观.根据您的截图,我认为您可以比继承和滚动自己的设置更快地从样式表中获得您想要的内容.但是再一次,基于一个屏幕截图很难知道. Here是仅使用Qt样式表实现的黑暗和橙色GUI的示例. QPushButton样式表的border-radius属性将为您提供圆角按钮(ref).