Seite 1 von 1

time.sleep() bei TkInter

Verfasst: Montag 5. Januar 2009, 20:37
von classic
Hallo alle zusammen,

ich hab folgendes sicher recht simples Problem. :x :x :x

Hier mein Cuellcode:

Code: Alles auswählen

import Tkinter as tk
import os
import time

k=os.getcwd()+os.sep+'ha.bat'
def ha(event):
    os.system('')
    
root=tk.Tk()
root.bind_all('<Button-1>',ha)
root.attributes('-alpha',0.1) #Transparenz
root.minsize(2000,2000)
root.attributes('-topmost',0) #Fenster immer im Vordergund
root.overrideredirect(1)
[b]time.sleep(20)[/b]
root.destroy()
root.mainloop()
Nun ist es so das das gesamte Fenster nun erst erstellt wird wenn die 20 Sekunden vorbei sind. Ich moechte aber, dass das Fenster erstellt wird und nach 20 sec. wieder geschlossen wird.

Koennte jemand von euch mir vielleicht sagen wie man sowas machen koennte???

Vielen dank schonmal im Vorraus

MfG
classic

Verfasst: Montag 5. Januar 2009, 20:43
von classic
Ok das tut mir jetzt leid ichhab zuspät mitbekommen das ich das hier in die falsche Rubrik geschrieben habe.... :oops: :oops:

wäre also nett wenn mir auch jemand sagen könnte wie ich das ändern kann^^

Verfasst: Montag 5. Januar 2009, 21:22
von Leonidas
Das geht nur als Moderator, habe es mal für dich verschoben.

P.S. Es heißt übrigens Quelltext :)

Edit: Du kannst nicht einfach den Thread einfrieren (``sleep`` macht genau das). Du musst ein Event registrieren. Dazu hat Tk sicher eine Möglichkeit, wie genau der Befehl heißt weiß ich nicht; such mal im Forum nach ``after``, das fällt in die selbe Rubrik.

Re: time.sleep() bei TkInter

Verfasst: Montag 5. Januar 2009, 21:24
von numerix
classic hat geschrieben:Koennte jemand von euch mir vielleicht sagen wie man sowas machen koennte???
Guck mal ganz oben auf dieser Seite:
http://infohost.nmt.edu/tcc/help/pubs/t ... ersal.html

Verfasst: Montag 5. Januar 2009, 21:53
von wuf
Hallo classic

Hier noch dein Beispiel mit der Widget.Methode 'after':

Code: Alles auswählen

import Tkinter as tk
import os
import time

k=os.getcwd()+os.sep+'ha.bat'
def ha(event):
    os.system('')

def time_delay():
    root.destroy()

root=tk.Tk()
root.bind_all('<Button-1>',ha)
root.attributes('-alpha',0.1) #Transparenz
root.minsize(2000,2000)
root.attributes('-topmost',0) #Fenster immer im Vordergund
root.overrideredirect(1)

DELAY_TIME = 2000 # Millisekunden
root.after(DELAY_TIME, time_delay)

root.mainloop()
Gruss wuf :wink: