Установите размер wx.GridBagSizer динамически
Вопрос
Я создаю приложение, в которое перетаскиваю виджеты кнопок на панель. Мне бы хотелось, чтобы на панели была видимая сетка, куда я перетаскивал виджеты, чтобы виджеты были выровнены по сетке.
Я полагаю, что с помощью GridBagSizer не сложно создать сетку, в которой квадраты имеют размер 15x15 пикселей (поскольку виджеты будут распределяться между несколькими ячейками), но как можно сделать количество квадратов динамически в соответствии с размером панели?
Нужно ли рассчитывать, сколько квадратов мне нужно, чтобы заполнить панель при инициализации и при каждом изменении размера?
Использование python и wxpython, кстати.
Эрджан Петтерсен
Решение
Для этого вообще не используйте классификатор. Просто расположите кнопки сами, с той координатой, которая вам нравится. (используя wxWindow :: SetSize () ).
(Смысл sizer заключается в том, что кнопки будут перемещены и / или изменить размер при изменении размера окна. Так как вы не хотите, чтобы такое поведение, то вы не должны использовать sizer.)