Dav*_*vid 5 c++ user-interface qt qt4
我一直想用Qt编写一个带有简单GUI的简单游戏(它将是一个非常简单的游戏,没什么特别的).我一直想知道的是,如何创建多个窗口并在需要时显示它们?例如,战斗屏幕和库存屏幕.用户应该只看到其中一个,但应该能够在需要时访问另一个.我正在使用堆叠小部件,但我不确定这是否正确.另外,在设计器中设计窗口或编码窗口是否更好?
StackWidget 肯定可以完成您想做的事情。它之所以不总是用于这种事情,是因为它所有的屏幕都是在开始时预先创建的并且始终存在。这意味着初始化需要更长的时间,并且您在任何时候使用的资源都比所需的要多
但正如你所说,如果这是一个简单的游戏,那么我不认为它有什么大问题。同样轻松地,您还可以创建一个空布局并根据需要交换库存和游戏面板。
向其他建议使用该设计器的人添加我的投票。使用设计器来操作布局、操作等比通过代码要容易得多。
您可以在此处查看设计手册
所以这就是我的建议:
创建“battleScreen.ui” - 这是战斗屏幕及其中所有内容的设计器文件,然后创建“inventory.ui”。这两者都可以是 QWidgets、QFrames 或任何有意义的东西。
然后创建你的“Game.ui”,它将成为你的 QMainWindow。
在游戏主窗口中,您可以添加 QStackWidget,并将库存和战斗屏幕放置在堆栈小部件中。
如果您不知道该怎么做... 1) 将 QWidget 拖到表单中(到堆栈小部件中) 2) 选择新的 QWidget 并右键单击。3) 选择“Promote to...” 4) 填写信息,将 QWidget 升级到您的库存类 升级类名称:您的库存类的名称 头文件:您的库存类的头文件 5) 单击添加 6)单击“推广”。
希望有帮助。