Как определить, выбрал ли клиент "ok" в окне сообщений tkinter? - PullRequest
0 голосов
/ 30 апреля 2019

Для создаваемой мной программы, которая редактирует MIDI-файлы, я импортировал модуль tkinter.messagebox. Я использую функцию сообщения askokcancel. Я хочу, чтобы все родительское и дочернее окна закрывались при выборе ok . Как мне это сделать?

Я уже пытался зайти на другие сайты, чтобы узнать как, но я не нашел ответов.

from tkinter import *
import tkinter.messagebox

class Window(Frame):

        def init_window(self):

        menu = Menu(self.master)

        self.master.config(menu=menu)

        file = Menu(menu)

        file.add_command(label="Exit", command=self.client_exit)

        menu.add_cascade(label="File", menu=file)

    def exit(self):

        exit()

    def client_exit(self):

        messagebox.askokcancel('Exit?', 'Are you sure you want to exit?', default='ok') 

#Here, I want the "exit" function to be the function.

        if self.reading:

            self.top.quit()

app = Window(tk)

Это всего лишь пример моего кода, которым я поделился. Если с другим кодом возможна ошибка, я поделюсь ею.

1 Ответ

1 голос
/ 30 апреля 2019
def client_exit(self):
    MsgBox = messagebox.showinfo('Exit?', 'Are you sure you want to exit?',icon = 'warning')
    if MsgBox == 'ok':
        #Some code

enter image description here

или:

def client_exit(self):
    MsgBox = messagebox.askquestion ('Exit?', 'Are you sure you want to exit?',icon = 'warning')
    if MsgBox == 'yes':
        # Your code
    else:
        # Your code

enter image description here

...