2012-07-16 2 views
2

En wxPython, est-il une forme courte de:Equivalent pour SWT .pack() dans wxPython?

size = object.GetBestSize() 
object.SetSize(size) 

(Pour les contrôles ou pour les cadres et les boîtes de dialogue.) .Layout() ajuste uniquement la taille des contrôles enfants.

Dans SWT, il y a .pack() pour cela.

Répondre

3

Si vous ne définissez pas explicitement la taille du widget, ils s'adaptent généralement à la bonne taille. Si vous ajoutez des widgets à un calibreur et leur dites de s'étirer, ce ne sera pas le cas, bien sûr. Vous pouvez également utiliser la méthode Fit() de la dimensionneuse pour la forcer, bien que je pense rarement que cela soit nécessaire.

+0

J'ai une boîte de dialogue conçue dans wxFormBuilder. Le problème est, que l'illustration est fausse, si je n'utilise pas une taille absolue là. Donc 'self.GetSizer(). Fit (self)' est une alternative à ce qui précède pour les cadres et les boîtes de dialogue. +++ Mais si je place une nouvelle étiquette dans une case à cocher, comment est-ce qu'elle s'autorise automatiquement comme une étiquette? GetBestSize est-il le seul choix disponible? – rynd

+0

Si vous souhaitez modifier le widget pendant l'exécution, vous devrez probablement appeler Layout(). C'est ce que je fais quand j'ajoute/enlève des widgets. Peut-être faire une mise en page, puis un ajustement. –