Функция Tkinter askokcancel() в Python — пример использования

Функция askokcancel() в Python отображает диалоговое окно подтверждения с двумя кнопками: ОК и Отмена.

answer = askokcancel(title, message, **options)

Если нажать кнопку OK, функция вернет True. Однако если нажать кнопку Cancel, функция вернет False.

Пример использования Tkinter askokcancel()

Следующая программа показывает кнопку Delete All. Если нажать на кнопку, программа покажет диалоговое окно подтверждения с двумя кнопками: ОК и Cancel.

Пример с Tkinter askokcancel()

Если нажать кнопку «ОК», программа выведет окно с сообщением о том, что все данные успешно удалены:

Если нажать кнопку «ОК»Вывод сообщения об успешном удалении данных

Программа:

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import askokcancel, showinfo, WARNING

# create the root window
root = tk.Tk()
root.title('Tkinter Ok/Cancel Dialog')
root.geometry('300x150')

# click event handler


def confirm():
    answer = askokcancel(
        title='Confirmation',
        message='Deleting will delete all the data.',
        icon=WARNING)

    if answer:
        showinfo(
            title='Deletion Status',
            message='The data is deleted successfully')


ttk.Button(
    root,
    text='Delete All',
    command=confirm).pack(expand=True)


# start the app
root.mainloop()

Следующая программа делает то же самое, что и программа выше, но использует подход объектно-ориентированного программирования:

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import askokcancel, showinfo, WARNING


class App(tk.Tk):
    def __init__(self):
        super().__init__()

        self.title('Tkinter Ok/Cancel Dialog')
        self.geometry('300x150')

        delete_button = ttk.Button(
            self,
            text='Delete All',
            command=self.confirm)

        delete_button.pack(expand=True)

    def confirm(self):
        answer = askokcancel(
            title='Confirmation',
            message='Deleting will delete all the data.',
            icon=WARNING)

        if answer:
            showinfo(
                title='Deletion Status',
                message='The data is deleted successfully')


if __name__ == "__main__":
    app = App()
    app.mainloop()
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *