GUI-App ohne konsole

Fragen zu Tkinter.
Antworten
.papaya
User
Beiträge: 11
Registriert: Sonntag 27. August 2006, 18:41

Hallo,

ich habe ein Programm mit python und tkinter (unter windows) fertiggestellt, jetzt stellt sich mir nur eine Frage: immer wenn man das Programm startet, oeffnet sich im Hintergrund auch eine Konsole. kann man das unterbinden?

sorry, wenn das schon oefters kam.
lunar

Falls du mit "Starten" einen Doppelklick auf die Python-Datei meinst, so hilft es, der Datei anstelle die Endung ".pyw" anstelle von ".py" zu geben.

Bei einem Start über die Eingabeaufforderung besteht die Lösung darin, "pythonw" anstelle von "python" zur Ausführung des Skripts zu nutzen.
The Spirit
User
Beiträge: 276
Registriert: Freitag 8. Juni 2007, 08:50
Wohnort: 84xxx Bereich
Kontaktdaten:

hi.
hatte das gleiche "problem".
wenn ich die datei mittels "pythonw" starte klappt es.
benenne ich die dateiendung jedoch von .py auf .pyw um, dann geht nix.
muss ich da noch was in die path variable von windows schreiben?
thx
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

Nein. Du musst nur eine entsprechende Verknüpfung der Endung .pyw mit pythonw.exe haben, dann sollte es funktionieren. Dies wird von der Standard Windows-Installation von Python normalerweise schon erledigt. Schau dir mal die Einstellungen an - vieleicht ist da irgendwas fehlerhaft? Ansonsten hast du vieleicht einen Fehler in deinem Python Programm den du ohne Konsolenausgabe nicht mitbekommst.

MFG HerrHagen
.papaya
User
Beiträge: 11
Registriert: Sonntag 27. August 2006, 18:41

das war ja einfach. vielen dank :)
.papaya
User
Beiträge: 11
Registriert: Sonntag 27. August 2006, 18:41

ich stelle eine weitere Frage hier, damit ich keinen neuen Thread aufmachen muss:

es passiert manchmal, dass sich mein Programm "scheinbar" aufhaengt. Das sieht dann so aus:

Bild

Das Programm arbeitet aber weiter und beendet auch nach einiger Zeit seine Arbeit. Allerdings will ich nicht, dass der User denkt, dass sich das Programm aufgehaengt hat. Weiß jemand woran das liegt und wie man das beheben kann?
lunar

Daran, dass eine längere Berechnung oder eine blockierende E/A-Operation in der Hauptschleife der Anwendung (z.B. in einer Methode, die auf ein GUI-Ereignis wie die Betätigung eines Knopfes reagiert) durchgeführt wird. Derartige Aufgabe müssen – zumindest bei Tk – in einen Hintergrundthread verschoben, oder in kleinere Arbeitsschritte unterteilt werden, mittels ".after()" Schritt für Schritt abgearbeitet werden.

Du bist allerdings nicht der erste, der sich mit diesem "Problem" konfrontiert sieht, eine Suche im Tkinter-Forum sollte dir eine Vielzahl von Threads liefern, die dein Problem thematisieren.
.papaya
User
Beiträge: 11
Registriert: Sonntag 27. August 2006, 18:41

danke, werd mal suchen und ausprobieren. falls was nicht klappt melde ich mich nochmal.
Antworten