Hiho,
ich habe es ja nun endlich geschafft meine erste Mini-GUI zu erzeugen. Nun habe ich an einen Button eine Funktion gehängt, die ausgeführt wird, wenn der Button gedrückt wird. Nun bleibt der Button aber eingedrückt, solange die Funktion läuft. Und wenn es eine Funktion ist, die etwas länger braucht, dann sieht das doch sehr unschön aus. Wie kann man das verhindern?
Button bleibt gedrückt
-
- User
- Beiträge: 63
- Registriert: Donnerstag 20. November 2003, 13:45
- Wohnort: Frankfurt/M.
Du kannst auch, wenn es sich anbietet und die Funktion nur im Hintergrund laufen soll, einfach einen Thread starten lassen. Das wäre dann eine Alternative, wenn man z.B. ein Mailprogramm schreibt, und die Mails ducrh Anhang etc sehr lang sind und der Versand dann dauern kann. Das kannst du dann mit
machen.
Code: Alles auswählen
import thread
thread.start_new_thread(auszufuehrende_function, argumente, keywort_argumente)
-
- User
- Beiträge: 63
- Registriert: Donnerstag 20. November 2003, 13:45
- Wohnort: Frankfurt/M.
Es ist wie verhext. Alle Probleme die ich habe laufen immer wieder auf den Kram mit den Klassen hinaus.
Das mit dem update() funktioniert zwar gut, nur ist die erwähnte Funktion in einer anderen Klasse in einer anderen Datei.
Deswegen hab ich beschlossen jetzt den Kram mit den Klassen mal richtig zu lernen. Kennt irgendwer hier ein möglichst simples Tutorial in dem das alles mal richtig und ausführlich erklärt wird? Es ist ja kein Zustand hier jedes mal fragen zu müssen wenn ich in die Nähe von Klassen komme...
Das mit dem update() funktioniert zwar gut, nur ist die erwähnte Funktion in einer anderen Klasse in einer anderen Datei.
Deswegen hab ich beschlossen jetzt den Kram mit den Klassen mal richtig zu lernen. Kennt irgendwer hier ein möglichst simples Tutorial in dem das alles mal richtig und ausführlich erklärt wird? Es ist ja kein Zustand hier jedes mal fragen zu müssen wenn ich in die Nähe von Klassen komme...
Hallo!
. Nein, es gibt natürlich etliche Tutorien zu Thema, aber ich fürchte, man muss sich einige angucken, um das für einen selbst beste zu finden. Du kannst ja mal nach 'python' in Kombination mit 'tutorium' oder 'tutorial' googeln.
Jan
Ja, man kommt zwar weit ohne OOP, aber spätestens bei GUI-Geschichten ist dann meist Schluss.AllesMeins hat geschrieben:Es ist wie verhext. Alle Probleme die ich habe laufen immer wieder auf den Kram mit den Klassen hinaus.
Du könntest eine Hilfsfunktion sozusagen als "Zwischenstation" dort plazieren, wo der Button-Code ist. Der Button ruft eben diese Funktion auf und die Funktion ihrerseits dann update_idletasks() und danach die eigentlich gewünschte Funktion im anderen Modul.AllesMeins hat geschrieben:Das mit dem update() funktioniert zwar gut, nur ist die erwähnte Funktion in einer anderen Klasse in einer anderen Datei.
Simple Tutorien beschäftigen sich nicht mit KlassenAllesMeins hat geschrieben:Kennt irgendwer hier ein möglichst simples Tutorial in dem das alles mal richtig und ausführlich erklärt wird?

Jan
Hallo AllesMein
Probier doch einmal Deine Funktion mit
dem release-Event des Buttons aufzurufen.
Normalerweise wird ein Button mit der Maustaste
nur kurz angeklickt. So ist sichergestell das die
zeitraubende Funktion erst mit dem loslassen
des Buttons abgefeuert wird.
Gruss wuf
Probier doch einmal Deine Funktion mit
dem release-Event des Buttons aufzurufen.
Normalerweise wird ein Button mit der Maustaste
nur kurz angeklickt. So ist sichergestell das die
zeitraubende Funktion erst mit dem loslassen
des Buttons abgefeuert wird.

Gruss wuf
Take it easy Mates!
- strogon14
- User
- Beiträge: 58
- Registriert: Sonntag 23. Februar 2003, 19:34
- Wohnort: Köln
- Kontaktdaten:
Wie wär's denn mit dem entsprechenden Kapitel "Object Oriented Programming" aus Learning to Program von Alan Gauld (http://www.freenetpages.co.uk/hp/alan.g ... tintro.htm)? Davon gibt es auch eine deutsche Übersetzung von Bruno Schäfer (http://www.freenetpages.co.uk/hp/alan.g ... /index.htm).AllesMeins hat geschrieben:Kennt irgendwer hier ein möglichst simples Tutorial in dem das alles mal richtig und ausführlich erklärt wird?
Chris