Как добавить/изменить QStackedLayout без изменения текущего макета?C++

Программы на C++. Форум разработчиков
Anonymous
Как добавить/изменить QStackedLayout без изменения текущего макета?

Сообщение Anonymous »

Я создаю приложение для судоку и пытаюсь отобразить текстовые поля (редактирование строк) поверх сетки судоку. Для этого у меня есть двухстраничный виджет stackedWidget: один с сеткой, другой с текстовыми полями. Все уже организовано в случае изменения размера окна, и теперь всякий раз, когда я пытаюсь добавить QStackedLayout (чтобы включить ShowAll), он полностью меняет макет окна.
Изображение

[img]https: //i.sstatic.net/lZqoEw9F.png[/img]

Единственное различие между двумя прикрепленными изображениями — это набор кода (и он даже не складывается в оба, насколько Могу сказать):

Код: Выделить всё

    QStackedLayout * layoutt = new QStackedLayout;
layoutt->addWidget(ui->stackedWidget);
layoutt->setStackingMode(QStackedLayout::StackingMode::StackAll);

Третье изображение — это структура, которая, как мне кажется, разрушается, когда я назначаю stackedWidget моему новому макету.
Изображение

Похоже, нет способа поместить QStackedLayout в дизайнер, и я не совсем уверен, как просто заменить мой stackedWidget в его макете на QStackedLayout со stackedWidget в качестве его дочернего элемента.
Общая цель — получить и судоку, и текст видимые страницы блоков, для чего, я думаю, требуется QStackedLayout, а это означает, что мне нужно добавить QStackedLayout вместо stackedWidget и установить stackedWidget в качестве его дочернего элемента.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ent-layout

Вернуться в «C++»