Окно Tkinter автоматически закрывается после запуска программы Python в PyCharm

Я программирую небольшую игру Python в PyCharm. Я делаю это на Macbook с Python версии 3.4. Игра открывает окно Tkinter и добавляет к нему кое-что. Однако при запуске игры она появляется очень коротко и немедленно закрывается.

Я нашел несколько советов здесь, в Stackoverflow, чтобы добавить вход («Нажмите, чтобы закрыть окно») в конце игры. В самом деле, это гарантирует, что окно не закрывается немедленно, но это не практично для игры. В игре пользователь должен использовать свои клавиши со стрелками для воспроизведения. Поэтому добавление ввода (…) в этом случае не является полезным. Как я могу предотвратить автоматическое закрытие окна? Благодаря!

Ниже кода:

from tkinter import * # Scherm maken HEIGHT = 500 WIDTH = 800 window = Tk() window.title('Bellenschieter') c = Canvas(window,width=WIDTH, height=HEIGHT, bg='darkblue') c.pack() # Duikboot maken ship_id = c.create_polygon(5,5,5,25,30,15,fill='red') ship_id2 = c.create_oval(0,0,30,30,outline='red') SHIP_R = 15 MID_X = WIDTH/2 MID_Y = HEIGHT/2 c.move(ship_id, MID_X, MID_Y) c.move(ship_id2, MID_X, MID_Y) # Duikboot besturen SHIP_SPD = 10 def move_ship(event): if event.keysym == 'Up': c.move(ship_id, 0, -SHIP_SPD) c.move(ship_id2, 0, -SHIP_SPD) elif event.keysym == 'Down': c.move(ship_id, 0, SHIP_SPD) c.move(ship_id2, 0, SHIP_SPD) elif event.keysym == 'Left': c.move(ship_id, -SHIP_SPD, 0) c.move(ship_id2, -SHIP_SPD, 0) elif event.keysym == 'Right': c.move(ship_id, SHIP_SPD, 0) c.move(ship_id2, SHIP_SPD, 0) c.bind_all('<Key>', move_ship) window.update() input('Press <Enter> to end the program') 

One Solution collect form web for “Окно Tkinter автоматически закрывается после запуска программы Python в PyCharm”

Запустите цикл событий после настройки виджетов, обработчиков событий.

 # input('Press <Enter> to end the program') # (X) window.mainloop() # OR mainloop() 

Удалите вызов на input .

  • Как я могу изменить текст кнопки, от текста до пустого имени с задержкой?
  • Запустите бесконечный цикл в backgroung в Tkinter
  • Python Tkinter - получить значение из Entry после root.destroy ()
  • Mutli-threading python с Tkinter
  • Отображать вывод в реальном времени подпроцесса в виджет tkinter
  • Как обновить изображение виджета Tkinter Label?
  • Другой вариант для цветной полосы прокрутки в программе на основе tkinter?
  • Как закодировать модуль tkinter «scrolledtext»
  • как получить эффект границы в tkinter ttk?
  • ImportError при импорте Tkinter в Python
  • Как получить горячие клавиши быстрого доступа Tkinter Mac (cmd + key)
  • Python - лучший язык программирования в мире.