Wenn ich mehrere Widgets innerhalb eines Frames habe, gibt es eine Möglichkeit, alle Widget-Positionen gleichzeitig mit einem Befehl zu verschieben? Ich benutze den .place Manager. Vielen Dank!Tkinter Python: Mehrere Widgets gleichzeitig verschieben
0
A
Antwort
1
würde ich Variablen definieren ref_y
und ref_y
und fügen Sie sie einfach zu meinem aktuellen x
und y
Wert wie in:
import tkinter as tk
root = tk.Tk()
ref_x = 40
ref_y = 56
btn = tk.Button(root, text="Button")
lbl = tk.Label(root, text="Label")
btn.place(x=ref_x + 45, y=ref_y + 13)
lbl.place(x=ref_x + 13, y=ref_y + 44)
root.mainloop()
Im obigen Beispiel btn
und lbl
mit referece zu ref_x
und ref_y
platziert werden. Das heißt, wenn Sie die Widgets an einer anderen Stelle platzieren möchten, müssen Sie nur die Werte ref_x
und ref_y
ändern.
0
Wenn Sie alle in Frame
haben, dann können Sie Frame
verschieben und es wird mit allen Elementen nach innen bewegen.
Verwenden Sie place_forget()
, um es aus dem Fenster zu entfernen, und verwenden Sie erneut place()
, um eine neue Position einzugeben.
import tkinter as tk
import random
# --- funtions ---
def move():
# hide frame
f.place_forget()
# random positiom
new_x = random.randint(0, 100)
new_y = random.randint(0, 150)
# show in new place
f.place(x=new_x, y=new_y)
# --- main ---
root = tk.Tk()
f = tk.Frame(root)
f.place(x=0, y=0)
tk.Label(f, text='HELLO!').pack()
tk.Button(f, text='Move it', command=move).pack()
root.mainloop()
Verwandte Themen
- 1. Drag & Drop-Widgets tkinter
- 2. Python 3.5 tkinter: Widgets in Fenstergröße ändern
- 3. Wie führe ich mehrere Tkinter-Fenster gleichzeitig in Python aus?
- 4. Ausrichtung der Widgets in Python Tkinter
- 5. Aktualisierung des Python/Tkinter-Label-Widgets?
- 6. Mehrfachauswahl an mehreren Text-Widgets gleichzeitig
- 7. Mehrere Objekte gleichzeitig verschieben in three.js
- 8. QT C++: Mehrere Labels gleichzeitig verschieben
- 9. Löschen bestimmter Widgets in tkinter
- 10. Python erkennen zwei Tasten gleichzeitig in tkinter
- 11. Python Zugriff auf mehrere Webseiten gleichzeitig
- 12. mehrere Einträge Widgets und ein Button Widget in tkinter
- 13. Verpackung tkinter Widgets bricht Rahmen
- 14. Ich möchte mehrere SoundCloud-Widgets gleichzeitig auf derselben Seite abspielen
- 15. mehrere Variablen gleichzeitig in Python
- 16. Mehrere Listenelemente gleichzeitig ersetzen (Python)
- 17. Mehrere Python-Skripte gleichzeitig ausführen
- 18. Mehrere Python-Befehle gleichzeitig ausführen
- 19. Wie erstellt man transparente Widgets mit Tkinter?
- 20. Python Tkinter Gitterabstand von Widgets und LabelFrames nicht richtig
- 21. Wie Widgets mit Tkinter in Python zusammensetzen? Diese
- 22. Python Tkinter - Größe Widgets gleichmäßig in einem Fenster
- 23. Python tkinter Key-Bindung an alle nachfolgenden Widgets
- 24. Entfernen Sie die automatische Lücke zwischen gerasterten Python Tkinter Widgets
- 25. Python - Übergeben eines Frames mit tkinter Widgets in eine Klasse
- 26. Problem beim Erstellen von ovalen Widgets in Python tkinter
- 27. Tkinter Leistung beim Packen viele Widgets
- 28. Kivy - Python - mehrere Widgets in recycleview Reihe
- 29. Was ist der "bessere" Ansatz zum Konfigurieren eines Tkinter-Widgets?
- 30. Wie mehrere Bilder als dasselbe Bild in der gleichen Zeit anzeigen und verschieben python Tkinter?
Sie können 'Frame' mit allen Elementen gleichzeitig verschieben - oder Sie müssen jedes Element separat verschieben. Entferne 'Frame' (oder jedes Element) mit' place_forget() 'und setze es erneut mit' place() '. – furas
Ich empfehle Ihnen, ein bisschen mehr darüber zu erklären, was Sie erreichen möchten. Wenn Sie eine Gruppe von Widgets als Gruppe verschieben möchten, gibt es wahrscheinlich eine bessere Lösung als die Verwendung von 'place'. –