Qt 在事件中显示不同的场景

Qt displaying different scenes on events

我有一个棋盘游戏,我想通过允许玩家更改一些选项来初始化,例如他希望游戏棋盘的宽度以及将有多少玩家参与。我基本上已经设置好实际游戏,但在显示实际游戏场景之前,我需要先显示初始场景(设置值,可能有两个滑块)。而且我只想在用户单击 GO 按钮时显示游戏场景。

我尝试从我所拥有的东西中抽象出这样的算法:

scene = new QGraphicsScene();
// setting up the scene, adding items like sliders and buttons
show();
// now I want to wait for a clickButton event and....
scene2 = new QGraphicsScene(); // etc..?

这可行吗?感谢您的时间和耐心。

首先,创建主设计器窗体 class(我们将其命名为 GameForm)并向其添加图形视图。为每个可配置选项添加构造函数参数。在构造函数中,您应该根据指定的参数设置一个场景。

创建另一个设计器表单 class(我们将其命名为 SettingsForm)并用所需的滑块和转到按钮填充它。在按钮的 clicked 插槽中写入以下代码:

void SettingsForm::on_go_clicked() {
  int param1 = ui->slider1->value();
  int param2 = ui->slider2->value();
  hide();
  deleteLater();
  GameForm *gameForm = new GameForm(param1, param2);
  gameForm->show();
}

在主函数中创建一个设置表单:

SettingsForm* form = new SettingsForm();
form->show();