Wie verhindere ich es, dass sich mein Fenster in Pygame direkt wieder schließt?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Erstmal ist der Code nicht richtig...

import pygame
pygame.init()
win = pygame.display.set_mode((500,500))

Das muss display und nicht screen sein.

Aber das Fenster müsste wenn du es richtig schreibst offen bleiben. Wenn nicht dann gibt es irgendwo eine Fehlermeldung in deiner IDE oder in der Konsole.

Welche IDE verwendest du?

Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)
TheAstronom 
Fragesteller
 24.08.2019, 17:39

Stimmt, ich schreibe auch Display🤦 Aber ich bekomme keine Fehlermeldung, das schließt sich und mehr nicht

0
Mark Berger  24.08.2019, 21:18
@TheAstronom

Editier es mal mit der IDLE und starte es aus der IDLE raus.

Falls da immer noch keine Meldung erscheint dann nutz den Debugger und schau genauer nach wo das Programm abstürzt...

0
TheAstronom 
Fragesteller
 25.08.2019, 18:55
@Mark Berger

Da sich IDLE bei mir nicht installieren lässt habe ich es mit PyCharm versucht, aber auch das geht nicht☹️

0
Mark Berger  25.08.2019, 19:03
@TheAstronom

Das es nicht geht ist klar - aber es muss eine Fehlermeldung geben oder du musst sich mit dem Debugger durchklicken bis das Programm an einer Stelle abstürzt.

Diese Art von Fehlersuche macht einen großen Teil der Arbeit eines Entwicklers aus.

0
TheAstronom 
Fragesteller
 25.08.2019, 19:07
@Mark Berger

Es gab keine Fehlermeldung, aber mittlerweile habe ich das Problem auf eine andere Weise gelöst.

Trotzdem vielen Dank für Ihre Mühe

0

Erstmal muss ich sagen, dass du dich nicht ernsthaft mit dem thema pygame befasst hast. Aber nicht böse gemeint.

Nachdem du dein Fenster erstellt hast, musst du es in iener schleeife laufen lassen, also:

import pygame

pygame.init()

win = pygame.display.set_mode((500, 500))

while True:
    # Dein restlicher Code

Achtung!!!: Um das Fenster schließbar zu machen, brauchst du diese Code:

import pygame

pygame.init()

win = pygame.display.set_mode((500, 500))

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
              quit()
TheAstronom 
Fragesteller
 09.05.2020, 23:35

Ja, das war auch mein erstes Projekt...

1