【问题标题】:Qt displaying different scenes on eventsQt 在事件中显示不同的场景
【发布时间】:2015-05-07 12:41:51
【问题描述】:

我有一个棋盘游戏,我想通过允许玩家更改一些选项来进行初始化,例如他希望游戏板的宽度以及将有多少玩家参与。我基本上已经设置了实际游戏,但是在显示实际游戏场景之前,我需要显示初始场景(设置值,可能是两个滑块)。而且我只想在用户单击 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..?

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

【问题讨论】:

  • 您想使用图形场景创建初始表单还是仅使用标准滑块等的普通小部件?
  • @PavelStrakhov 没关系,只要它具有我描述的功能..

标签: c++ qt scene


【解决方案1】:

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

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

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2023-04-02
    • 2017-01-29
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多