Exit klappt nicht

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
blob
User
Beiträge: 19
Registriert: Mittwoch 14. April 2010, 20:09

Ich habe ein Problem mit Pygame.
Wenn ich versuche das Fenster zu schließen klappt das nicht.
Dafür benutze ich diesen Code:

Code: Alles auswählen

while True:

    for event in pygame.event.get():
        if event.type == QUIT:
            exit()
BlackJack

@blob: Sollte aber funktionieren. Wobei man das `exit()` explizit aus dem `sys`-Modul importieren sollte.

Ansonsten musst Du wohl etwas mehr Quelltext zeigen. Also ein am besten ein minimales Beispiel das sich nicht schliessen lässt.
blob
User
Beiträge: 19
Registriert: Mittwoch 14. April 2010, 20:09

Das ist der ganze Code:

Code: Alles auswählen

import pygame
from pygame.locals import*
from sys import exit

pygame.init()

screen = pygame.display.set_mode((640,480), 0, 32)

points = []

while True:

    for event in pygame.event.get():
        if event.type == QUIT:
            exit()

    if event.type == MOUSEMOTION:
        points.append(event.pos)
        if len(points) >= 100:
            del points[0]

    screen.fill((255,255,255))

    if len(points) > 1:
        pygame.draw.lines(screen, (0,255,0), False, points, 10)

    pygame.display.update()
Als Fehlermeldung bekomme ich das hier:


Traceback (most recent call last):
File "C:\Python26\Programme\multiple_lines.py", line 16, in <module>
exit()
SystemExit


Könnte das vlt an meiner Pygame/Python Version liegen?
Zuletzt geändert von Anonymous am Montag 21. Juni 2010, 19:03, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
BlackJack

@blob: Das wird wahrscheinlich an der Art liegen wie Du das Programm startest -- wenn ich mal raten müsste von einer IDE aus und nicht direkt als Programm!?
blob
User
Beiträge: 19
Registriert: Mittwoch 14. April 2010, 20:09

Ich schreibe die Programme mit IDLE(Python GUI) drücke F5(Run) und das Programm wird ausgeführt. Dann kommt das Pygame Fenster. Und wenn ich es versuche zu schließen, geht es nicht.
BlackJack

@blob: Na dann starte es doch mal nicht aus IDLE.
blob
User
Beiträge: 19
Registriert: Mittwoch 14. April 2010, 20:09

Und wie soll das gehen?
Benutzeravatar
DaMutz
User
Beiträge: 202
Registriert: Freitag 31. Oktober 2008, 17:25

entweder durch einen doppelklick auf die .py oder .pyw Datei.
Oder mit der Konsole:

Code: Alles auswählen

python dein_programm.py
evtl. musst du den absoluten Pfad zu Python angeben.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Oder in dem man in die FAQ im Wiki schaut, Punkt "Wie starte ich Programme?".
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
blob
User
Beiträge: 19
Registriert: Mittwoch 14. April 2010, 20:09

Danke klappt jetzt :)
Wendigo
User
Beiträge: 7
Registriert: Montag 2. August 2010, 08:09

Kleiner Nachtrag: IDLE mag es nicht, wenn pygame Programme "einfach so enden" (kleine Eigenheit der IDE).

Schreibe in die letzte Zeile folgendes und es sollte auch über IDLE zu starten sein:

Code: Alles auswählen

pygame.quit()
Antworten