Почему я не могу установить макет для страницы в QStackedWidget в дизайнере?

Шаги по воспроизведению в дизайнере для Qt 4.8.0

  • Я создаю новую диалоговую форму в Qt Designer
  • Я добавляю QStackedWidget в диалог
  • Я установил макет диалогового окна, чтобы сделать размер макета с помощью диалога
  • Я добавлю несколько элементов управления на страницу один в стеке
  • Я выбираю первую страницу в стеке в виде виджета в дереве правой панели управления
  • Значок рядом с этой страницей (который является QWidget) показывает, что на странице отсутствует макет

Когда я нажимаю одну из кнопок компоновки выше, она не меняет макет страницы QWidget, она меняет макет диалогового окна, хотя я явно выбрал страницу.

Это ошибка в дизайнере? Я что-то упускаю? Я действительно не хочу добавлять макеты программно, поскольку это мешает мне планировать страницы в дизайнере в том же файле .ui

Ответ 1

Нажатие на страницу виджетов в дереве объектов приводит эту страницу к вершине стека, но не выбирает ее.

На самом деле, невозможно выбрать страницу самого виджета - могут быть выбраны только дочерние виджеты (а также, конечно же, родительский стек-виджет).

Самый простой способ установить макет для страницы виджетов:

  • верните его вверх, щелкнув маленькие стрелки в правом верхнем углу угол его родительского stacked-widget
  • установите соответствующий макет с помощью кнопок на панели инструментов

Обратите внимание, что невозможно установить макет для виджета, у которого нет дочерних виджетов.

(Если здесь есть ошибка, то кнопки панели инструментов должны быть действительно серыми, когда вы нажимаете на страницу виджетов в дереве объектов, у которой нет дочерних виджетов. Когда используются стрелки сложенными виджетами, панель инструментов кнопки выделены серым цветом).

Ответ 2

Это не ошибка в дизайнере, но это тоже не очень интуитивно. Вам нужно щелкнуть по самой собранной странице виджетов (где находятся ваши элементы управления), а затем щелкнуть одну из кнопок макета на панели инструментов. Щелчок по странице в древовидной структуре не будет выбирать страницу для вас.