funktion, die gleichzeitig mehrmals abläuft

Fragen zu Tkinter.
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Donnerstag 6. April 2006, 09:45

Greetings gerold,
gerold hat geschrieben: Einer der Vorteile der eigenen main() ist der, dass dir der Namensraum beim Importieren deines Moduls nicht vollgemüllt wird.
Das verstehe ich nicht so ganz. Der if-Block wird gar nicht ausgeführt, oder? Wie kann der was vollmüllen?
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Donnerstag 6. April 2006, 09:58

N317V hat geschrieben:
gerold hat geschrieben: Einer der Vorteile der eigenen main() ist der, dass dir der Namensraum beim Importieren deines Moduls nicht vollgemüllt wird.
Das verstehe ich nicht so ganz. Der if-Block wird gar nicht ausgeführt, oder? Wie kann der was vollmüllen?
Hi N317V!

Du hast Recht. Ich habe mich von meiner IDE beeinflussen lassen. Es wird nicht der Python-Namensraum sondern die Codevervollständigung meiner IDE zugemüllt. WingIDE bietet die Variablen in "b.py" zur Auswahl an. Es wird aber wie erwartet ein Fehler ausgeworfen, wenn das Skript ausgeführt wird.

a.py:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

if __name__ == "__main__":
    var_a = "Hallo"
    var_b = "Welt"
b.py:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import a

a.var_a
a.var_b
lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
geogre
User
Beiträge: 41
Registriert: Mittwoch 20. April 2005, 13:26

Dienstag 11. April 2006, 07:31

hallo,
euch allen nochmal vielen dank für antworten, tipps und hilfen... ich hab nochmal ein bisschen experimentiert und für mein ursprüngliches beispiel (eine fläche mit eigenständigen zählern wo man hinklickt) eine wie ich finde total einfache methode mit 'thread' gefunden, wollte die nur hier kurz mitteilen (kommentare natürlich willkommen). mein problem ist jedenfalls erstmal mehr als gelöst - danke !!!

Code: Alles auswählen

from Tkinter import *
import time, thread

root = Tk()
root.minsize(width=320, height=380)
root.resizable(width=YES, height=YES)

frame03 = Frame(root, relief=FLAT, borderwidth=0)
frame03.pack(fill=BOTH,expand=1)
rasen=Canvas(frame03,bg='green')
rasen.pack(fill=BOTH, expand=1)

def meinthread(event):
    koordinaten=[event.x,event.y]
    thread.start_new_thread(test,(koordinaten[0],koordinaten[1]))

def test(x,y):
    counter=rasen.create_text(x,y,text='')
    for i in range(10):
        rasen.itemconfigure(counter,text=str(9-i))
        rasen.update()
        time.sleep(1)
    rasen.delete(counter)

root.bind('<Button-1>',meinthread)
root.mainloop()
Antworten