Ich bräuchte mal einen Denkanstoß zu
http://img4web.com/view/D4TGRX
Was muss ich machen das die Reihe mit "AJ", "A10S"...... nach 4 Radiobuttons in die nächste Zeile springt?
Ich habs versucht mit
einem width für das Frame was ignoriert wird
mit einer if Bedingung die beim 3ten Schleifendurchlauf einmal mit side="bottom" das Widget pack, was zu einer sehr komischen Anordnung führt
Ich könnte natürlich die Liste in 3 aufteilen, aber das kann doch nicht im Sinne des Erfinders sein?
Gruß
Tengel
Widget ausrichten
@Tengel: Bei `side` sollte man in einem Widget bei einem Wert bleiben. Sonst kann es wie Du ja selbst festgestellt hast zu komischen Layouts führen.
Die Lösung ist ein `grid()`-Layout in einem eigenen `Frame`. Die Positionen (Zeile/Spalte) kann man mit der `divmod()`-Funktion berechnen. Also ungefähr so:
Die Lösung ist ein `grid()`-Layout in einem eigenen `Frame`. Die Positionen (Zeile/Spalte) kann man mit der `divmod()`-Funktion berechnen. Also ungefähr so:
Code: Alles auswählen
frame = tk.Frame(parent)
for i, item in enumerate(items):
radio_button = tk.Radiobutton(frame, text=item)
row, column = divmod(i, 4)
radio_button.grid(row=row, column=column)
frame.pack()