Рубрики
Без рубрики

WXPYPHON: GRIDSIZERS и FAT TEXTCTRLS

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

В моем последнем посте я написал, как использовать Gridsizer для создания общей формы. К сожалению, WX.TextCtrls все в конечном итоге выглядели жиром. Похоже, что пропуская флаг Wx.expand в Gridsizer при добавлении текстовогоCTRL заставляет его расширяться, чтобы заполнить ячейку, а также изменять размер, когда сам окно изменяется.

Один из способов исправить это раздражение, чтобы изменить то, как добавить TextCtrl в Sizer. Оригинальная линия выглядит так:

gridSizer.Add(inputTxtOne, 0, wx.EXPAND)

Теперь добавьте битовый флаг wx.all и настроить границу на 5 пикселей ширину:

gridSizer.Add(inputTxtOne, 0, wx.EXPAND|wx.ALL, 5)

Смотрите раньше и после экрана снимки ниже, чтобы увидеть эффект. Оба из них работали на машине Windows XP:

Перед

После

Одна вещь, которую нужно принять к сведению: если вы добавляете жирный виджет в любую из этих ячеек, например, многострочный текстовый текст, все другие элементы управления также станут заметно более широко, за исключением StaticCTRL. Книга Робина Данна, WXPYPHON в действии, гласит, что «Sizer Sizer лучше всего подходит для макетов, где дети, естественно, все тот же размер … Sizer Sizer с дико разными размерами, имеет тенденцию выглядеть немного странно». Он говорит, что если вы хотите использовать виджеты разных размеров в сетке, вам нужно использовать Sizer Flex Sizer или SIZER STRID.

Следите за обновлениями!