Форум сайта python.su
Есть в коде такая функция, при ее вызове то-есть по нажатии кнопки в приложении открывается
диалоговое окно с вопросом.
def check_quit(): answer = mb.askyesno(title="Panic at the pizzeria", message="Вы хотите выйти из игры?") if answer == True: sys.exit()
Прикреплённый файлы:
Снимок экрана от 2019-02-11 21-47-15.png (357,7 KБ)
Офлайн
слишком мало данных, что такое mb например? какие окна вообще есть?
сделайте какойто минимальный пример который можно запустить.
[code python][/code]
Офлайн
PEHDOM
слишком мало данных, что такое mb например? какие окна вообще есть?сделайте какойто минимальный пример который можно запустить.
import sys import pygame from tkinter import messagebox as mb # Инициализация экрана и создание игры. def rungame(): pygame.init() screen_game = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Panic at the pizzeria") # Подтверждение выхода. def check_quit(): answer = mb.askyesno(title="Panic at the pizzeria", message="Вы хотите выйти из игры?") if answer == True: sys.exit() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: check_quit() rungame()
Офлайн
, ну это все особенности tkinter, там должно всегда быть главное(корневое, root) окно, если у вас его нет, tkinter заботливо его создаст для вас(что собственно мы и видим на вашем скриншоте).
поэтому если вы всеже хотите использовать ткинтеровский диалог, вам нужно самому создать главное окно, а пото мего спрятать, както так:
import sys import pygame from tkinter import messagebox as mb from tkinter import Tk # Инициализация экрана и создание игры. def rungame(): pygame.init() screen_game = pygame.display.set_mode((800, 600)) pygame.display.set_caption("Panic at the pizzeria") # Подтверждение выхода. def check_quit(): root = Tk() # Создаем главное окно root.withdraw() # скрываем его answer = mb.askyesno(title="Panic at the pizzeria", message="Вы хотите выйти из игры?") if answer == True: pygame.quit() sys.exit() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: check_quit() rungame()
[code python][/code]
Отредактировано PEHDOM (Фев. 12, 2019 14:49:25)
Офлайн
PEHDOMСпасибо, за совет.
, ну это все особенности tkinter, там должно всегда быть главное(корневое, root) окно, если у вас его нет, tkinter заботливо его создаст для вас(что собственно мы и видим на вашем скриншоте).поэтому если вы всеже хотите использовать ткинтеровский диалог, вам нужно самому создать главное окно, а пото мего спрятать, както так:
Офлайн
Можно и так, смотрите как вам проще. Я просто не знаю насколько сложно в pygame сделать еще одно окно с кнопочками и прочим…
[code python][/code]
Офлайн