Qt отображение разных сцен на событиях

У меня есть настольная игра, которую я хотел бы инициализировать, позволив игроку изменить несколько вариантов, например, насколько он хочет, чтобы игровое поле было, и сколько игроков будет участвовать. У меня фактически настроена вся игра, но мне нужно показать начальную сцену (настройка значений, возможно, два ползунка), прежде чем я покажу реальную игровую сцену. И я хочу показывать игровую сцену только тогда, когда пользователь нажимает кнопку 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..?

Это выполнимо? Спасибо за ваше время и терпение.

0

Решение

Сначала создайте основной класс формы дизайнера (назовем его 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();
1

Другие решения


По вопросам рекламы [email protected]