Imposta dinamicamente la dimensione di wx.GridBagSizer
Domanda
Sto creando un'app in cui trascino i widget dei pulsanti in un pannello. Vorrei avere una griglia visibile nel pannello in cui rilasciare i widget in modo che i widget vengano allineati alla griglia.
Suppongo che non sia difficile creare una griglia in cui i quadrati siano 15x15 pixel usando GridBagSizer (poiché i widget si estenderanno tra più celle), ma come si può creare dinamicamente il numero di quadrati in base alle dimensioni del pannello ?
Devo calcolare quanti quadrati devo riempire il pannello su init e su ogni ridimensionamento?
Uso di python e wxpython tra l'altro.
Oerjan Pettersen
Soluzione
Non usare affatto un sizer per questo. Basta posizionare i pulsanti da soli, con qualsiasi arrotondamento di coordinate desiderato. (utilizzando wxWindow :: SetSize () ).
(Il punto di un sizer è che i pulsanti verranno spostati e / o ridimensionato quando la finestra viene ridimensionata. Dato che non vuoi quel comportamento, non dovresti usare un sizer.)