Idle hängt nach mainloop

Fragen zu Tkinter.
Antworten
Smokie_joe
User
Beiträge: 23
Registriert: Sonntag 12. November 2006, 22:20

Montag 13. November 2006, 19:13

Erst mal ein Hi @ all (Der neue grüßt alle ;) )

Ich beschäftige mich seit einger Zeit mit Python u. bin nun daran
mit Programme mit GUI (mit dem modul Tkinter) zu erstellen
Ich habe allerdings das Probelm das unter Linux mit der Python vers.
2.4.3 bei mir unmittelbar nach der instanzierung von Tk() das fenster
öffnet (ohne die Methode instanz.mainloop() ) das wär ja nicht all zu schlimm. Wenn ich aber am
ende regulär die Tk instanz mit der Methode instanz.mainloop() "Starte" hängt danach IDLE
(oder die Konsole in welcher ich das skript ausführe) bin danach immer gezwungen die Konsole oder IDLE zu schließen. Es scheint alls der Prozess durch dass schließen des fensters auch nicht beendet wird.

Die Selben Programme laufen wenn ich Sie unter Windows XP (Python vers. 2.5)
ausführe ohne Probleme... ?

Hatte jemand von euch schon mal den Fehler ? oder kann mir jemand weiterhelfen ?

Besten Dank im voraus.

mfg
Smokie_joe :D :D :D
schlangenbeschwörer
User
Beiträge: 419
Registriert: Sonntag 3. September 2006, 15:11
Wohnort: in den weiten von NRW
Kontaktdaten:

Montag 13. November 2006, 19:33

Hi Smokie_joe,willkommen im Forum!
Zu Linux kann ich dir nix sagen, hab halt Windows, da auch vers. 2.4, aber ich rate dir, wenn möglich Tkinterprogramme in nem eigenen Script zu schreiben, da IDLE ja auch Tkinter ist...
Zum schnellen Testen nehm ich die "command-line", da kommt das Fenster zwar auch direkt, ich hab aber keine Probleme. -Und wenn du nur was optisches testen willst und keine ganzen programme mal eben so eintippst, brauchst du doch eigentlich gar kein mainloop, oder ist das totaler Stuss?
Gruß, jj
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Montag 13. November 2006, 19:36

Hallo und Willkommen,

entweder hast du die beiden Packmanager pack und grid gemischt, oder zeig mal dein Code her. :D

MfG
pyStyler
Smokie_joe
User
Beiträge: 23
Registriert: Sonntag 12. November 2006, 22:20

Montag 13. November 2006, 20:01

Ist bei meinem Skript sowie bei den beispiel Skripten von einer CD die bei nem Buch über Python (Objektorientierte Programmierung mit Python) dabei waren.

Ich hab es mit folgendem Skript (extra auf das einfachste herunter gebracht) nochmal getestet ... sobald mainloop dabei ist hab ich das Problem

Code: Alles auswählen

#beispiel.py

from Tkinter import *


root = Tk()
lab = Label(root,text="test-beispiel")
lab.pack()
root.mainloop()
pyStyler
User
Beiträge: 311
Registriert: Montag 12. Juni 2006, 14:24

Montag 13. November 2006, 20:32

versuch mal das hier

Code: Alles auswählen

#!/usr/bin/env python 
rom Tkinter import *
root = Tk()
lab = Label(root,text="test-beispiel")
lab.pack()
root.mainloop()
und sag mal, ob es besser geworden ist.
Smokie_joe
User
Beiträge: 23
Registriert: Sonntag 12. November 2006, 22:20

Montag 13. November 2006, 20:44

:( :( :( hat sich nix geändert Konsole oder Idle hängen sich immer noch auf

Ich habe die Vermutung das es irgendwie damit zusammenhängt das wenn ich das Fenster schließe der Prozess(Tk..root) nicht terminiert wird... wenn ich das ganze teste die Idle hängen bleibt ich die Idle/Konsole schließe hängen die Prozesse immer noch drin.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Mittwoch 15. November 2006, 14:02

Das ist ein bekanntes Problem. Schlangenbeschwörer hat Recht. Man sollte Tkinter-Anwendungen möglichst nicht aus IDLE heraus starten. Ich starte sie entweder direkt aus dem Windows-Explorer oder aus einer DOS-Box. Aus anderen Python-IDEs als Idle scheint es wohl auch zu gehen. Ich habe damit aber keine Erfahrungen.
MfG
HWK
Antworten