Sto cercando di creare una griglia di pulsanti (per ottenere l'effetto cella selezionabile) con Tkinter.Come creare una griglia di pulsanti di ridimensionamento automatico in tkinter?
Il mio problema principale è che non riesco a fare il grid
ei pulsanti Dimensioni automatiche e adattarsi alla finestra padre.
Ad esempio, quando ho un numero elevato di pulsanti sulla griglia, invece di restringere i pulsanti in modo che la griglia si adatti alla finestra, ottengo una cornice allungata che va fuori dallo schermo.
L'effetto che sto cercando è la griglia di riempire tutto lo spazio disponibile, quindi il ridimensionamento sue cellule per adattarsi all'interno di quello spazio. Ho letto alla documentazione, ma non riesco ancora a capire come farlo funzionare.
Questo è il codice di base che è il mio punto di partenza:
def __init__(self):
root = Tk()
frame = Frame(root)
frame.grid()
#some widgets get added in the first 6 rows of the frame's grid
#initialize grid
grid = Frame(frame)
grid.grid(sticky=N+S+E+W, column=0, row=7, columnspan=2)
#example values
for x in range(60):
for y in range(30):
btn = Button(grid)
btn.grid(column=x, row=y)
root.mainloop()
Grazie! Ha funzionato alla grande Non sono sicuro del motivo per cui non ho trovato la classe Grid. Stavo leggendo la documentazione sui geometri, ma ho scoperto solo il metodo .grid. – Kiril
L'esempio non prevede che i pulsanti si espandano quando lo ridimensioni sul mio sistema. Sto usando Xubuntu 14.04, 32-bit. L'ho provato su Python 2.xe su 3.x. – Shule
Esempio molto utile. @ Kiril: puoi anche chiamare columnconfigure da un riferimento a un oggetto, ad es. root.rowconfigure (0, weight = 1) – NargothBond