J'ai un extrait qui crée un widget optionMenu code>.
...
options = ('White', 'Grey', 'Black', 'Red', 'Orange',
'Yellow', 'Green', 'Blue', 'Cyan', 'Purple')
var = StringVar()
optionmenu = OptionMenu(par, var, *options)
optionmenu.grid(column=column, row=row)
...
3 Réponses :
Lorsque vous utilisez la commande grille code> pour placer le widget de son parent, demandez au widget remplir sa cellule (essayez
Sticky = "EW" code>) p>
Cela ne fonctionne pas pour moi. J'utilise une liste déroulante dans un cadre. Pourtant, il l'étend à de longues options dans la liste déroulante.
Un alternatif pourrait être de trouver la largeur maximale de tous les widgets dans cette colonne, puis définissez la valeur par défaut de la variable dans le menu Option pour être "" * (max_width / font_size_of_option_widget). La taille du widget peut être obtenue à l'aide du widget.update (), puis widget.winfo_width ()
Au meilleur de ma connaissance, vous pouvez utiliser optionMenu.config (largeur =
...
optionmenu = OptionMenu(par, var, *options)
optionmenu.config(width=<YOUR_WIDTH>)
optionmenu.grid(column=column, row=row)
...
optionmenu.configure(width=<YOUR_WIDTH_HERE>)