Seite 1 von 1

button in einer schleife bewegen

Verfasst: Freitag 2. März 2018, 12:21
von jan.b

Code: Alles auswählen


from tkinter import*
tk = Tk()
import webbrowser
import random
import time
canvas = Canvas(tk, width=400, height=400, bg='yellow')
canvas.pack()
import turtle
import random


button1 = Button(tk, text="hi")

i = random.randint(0, 400)
v = random.randint(0, 400)
button1.place(x=i, y=v) 
        


wie kann man diesen vorgang in eine schleife setzten?

Code: Alles auswählen

button1 = Button(tk, text="hi")

i = random.randint(0, 400)
v = random.randint(0, 400)
button1.place(x=i, y=v) 
wenn ich da einfach eine while schleife drum mache, passiert einfach gar nichts.

Re: button in einer schleife bewegen

Verfasst: Freitag 2. März 2018, 16:40
von noisefloor
Hallo,

der gezeigte Code macht auch nichts... da fehlt zumindest der mainloop von Tkinter.

Eine while-Schleife kannst du nicht in Tkinter einbauen, weil du dann den mainlopp blockierst -> ganz schlechte Idee.

Die Lösung auch hier: die `after()` Methode das Top-Level Windows. Dazu gibt es gefühlt 1000 Threads hier im Forum, weil die Frage mindestens 1x pro Woche kommt.

Gruß, noisefloor

Re: button in einer schleife bewegen

Verfasst: Freitag 9. März 2018, 16:16
von jan.b
was ist und tut ein mainloop?

Re: button in einer schleife bewegen

Verfasst: Freitag 9. März 2018, 16:27
von noisefloor
Hallo,

der kontrolliert alles und jedes in der GUI.

Aber jetzt mal im Ernst: du hast schon X Fragen zu Tkinter gestellt und Code gepostet - inkl. solchem, wo der mainlopp() - der unter Tkinter ja auch genau so heißt - explizit vorkommt. Liest du eigentlich den Code, den du schreibst? Hast du überhaupt schon mal versucht, den Code zu verstehen, den du schreibst? Mit stumpfen C&P oder abtippen kommt man nun mal nicht weit...

Gruß, noisefloor

Re: button in einer schleife bewegen

Verfasst: Samstag 10. März 2018, 22:01
von jan.b
noisefloor hat geschrieben:Hallo,

der kontrolliert alles und jedes in der GUI.

Aber jetzt mal im Ernst: du hast schon X Fragen zu Tkinter gestellt und Code gepostet - inkl. solchem, wo der mainlopp() - der unter Tkinter ja auch genau so heißt - explizit vorkommt. Liest du eigentlich den Code, den du schreibst? Hast du überhaupt schon mal versucht, den Code zu verstehen, den du schreibst? Mit stumpfen C&P oder abtippen kommt man nun mal nicht weit...

Gruß, noisefloor
wenn ich was nicht verstehe frage ich.