2009-03-06 3 views
1

Я создаю приложение, в котором я перетаскиваю виджеты кнопок в панель. Я хотел бы иметь видимую сетку в панели, где я бросаю виджеты, поэтому виджеты будут выровнены по сетке.Динамически установить размер wx.GridBagSizer

Я думаю, что это не сложно сделать сетку, где квадраты 15x15 пикселей, используя GridBagSizer (так как виджеты будут охватывать между несколькими ячейками), но как можно сделать число квадратов динамически в соответствии с размером панель?

Должен ли я рассчитать, сколько квадратов мне нужно заполнить панель на init и при каждом изменении размера?

Использование python и wxpython кстати.

Oerjan Pettersen

ответ

1

Не используйте Sizer вообще для этого. Просто расположите кнопки самостоятельно, с любым скоординированным округлением, которое вам нравится. (с использованием wxWindow::SetSize()).

(Точка в sizer является то, что кнопки будут перемещаются и/или изменять их размер при изменении размера окна. Как вы не хотите этого поведения, то вы не должны использовать классификатор.)

+0

Да , Ты прав. Похоже на лучшую идею. – Orjanp