Почему я не могу установить макет для страницы в QStackedWidget в дизайнере?
Шаги по воспроизведению в дизайнере для Qt 4.8.0
- Я создаю новую диалоговую форму в Qt Designer
- Я добавляю QStackedWidget в диалог
- Я установил макет диалогового окна, чтобы сделать размер макета с помощью диалога
- Я добавлю несколько элементов управления на страницу один в стеке
- Я выбираю первую страницу в стеке в виде виджета в дереве правой панели управления
- Значок рядом с этой страницей (который является QWidget) показывает, что на странице отсутствует макет
Когда я нажимаю одну из кнопок компоновки выше, она не меняет макет страницы QWidget, она меняет макет диалогового окна, хотя я явно выбрал страницу.
Это ошибка в дизайнере? Я что-то упускаю? Я действительно не хочу добавлять макеты программно, поскольку это мешает мне планировать страницы в дизайнере в том же файле .ui
Ответы
Ответ 1
Нажатие на страницу виджетов в дереве объектов приводит эту страницу к вершине стека, но не выбирает ее.
На самом деле, невозможно выбрать страницу самого виджета - могут быть выбраны только дочерние виджеты (а также, конечно же, родительский стек-виджет).
Самый простой способ установить макет для страницы виджетов:
- верните его вверх, щелкнув маленькие стрелки в правом верхнем углу
угол его родительского stacked-widget
- установите соответствующий макет с помощью кнопок на панели инструментов
Обратите внимание, что невозможно установить макет для виджета, у которого нет дочерних виджетов.
(Если здесь есть ошибка, то кнопки панели инструментов должны быть действительно серыми, когда вы нажимаете на страницу виджетов в дереве объектов, у которой нет дочерних виджетов. Когда используются стрелки сложенными виджетами, панель инструментов кнопки выделены серым цветом).
Ответ 2
Это не ошибка в дизайнере, но это тоже не очень интуитивно. Вам нужно щелкнуть по самой собранной странице виджетов (где находятся ваши элементы управления), а затем щелкнуть одну из кнопок макета на панели инструментов. Щелчок по странице в древовидной структуре не будет выбирать страницу для вас.