Как сделать макет всех дочерних элементов wxPanel? - PullRequest
1 голос
/ 29 июня 2010

У меня есть приложение wxPython, которое позволяет пользователям выбирать элементы из меню, которые затем изменяют то, что видно на экране.Это часто требует пересчета компоновки панелей.Я хотел бы иметь возможность вызывать расположение всех дочерних элементов панели (и дочерних элементов этих детей) в обратном порядке.То есть для элементов без дочерних элементов сначала вызывается функция Layout (), затем их родители и т. Д.

В противном случае я должен хранить в кодах все виды знаний о родителях панелей.(т.е. сколько родителей будет затронуто изменением в той или иной панели).

Ответы [ 2 ]

0 голосов
/ 29 июня 2010

Больше в ответ на ваш комментарий к ответу Джона Кейджа, чем на ваш первоначальный вопрос (на который Джон отлично ответил):

Пользователь может найти это раздражающим, если позиция каждого элемента в вашем диалогеменяется, когда он делает выбор.Возможно, это будет выглядеть лучше, если обновится только «переменная часть».Чтобы достичь этого, вы можете сделать панель для каждого набора дополнительных элементов управления.Минимальный размер каждой панели должен быть минимальным размером самой большой из этих панелей.В зависимости от выбора пользователя вы можете скрыть или показать желаемую панель.

В качестве альтернативы, wxChoicebook может быть тем, что вам нужно?

0 голосов
/ 29 июня 2010

Посмотрите на wxSizers и некоторые примеры для гибкого способа создания форм.

Вы можете указать высоту, пропорции и т. Д. И т. Д., А затем код компоновки сделает все за вас:)

...