Tkinter pedir cancelamento

Resumo : neste tutorial, você aprenderá como usar a askokcancel()função Tkinter para mostrar uma caixa de diálogo de confirmação.

Introdução à função askokcancel() do Tkinter

A askokcancel()função mostra uma caixa de diálogo de confirmação que possui dois botões: OKe Cancel.

answer = askokcancel(title, message, **options)Linguagem de código:  Python  ( python )

Se você clicar no OKbotão, a função retornará True. Porém, se você clicar no Cancelbotão, a função retornará False.

Exemplo de askokcancel() do Tkinter

O programa a seguir mostra um botão Excluir tudo . Se você clicar no botão, o programa mostrará uma caixa de diálogo de confirmação que possui dois botões: OKe Cancel.

Se você clicar no OKbotão, o programa mostrará uma caixa de mensagem indicando que todos os dados foram excluídos com sucesso:

O programa:

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()Linguagem de código:  Python  ( python )

O programa a seguir faz o mesmo que o programa acima, mas usa a abordagem de programação orientada a objetos:

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()Linguagem de código:  Python  ( python )

Resumo

  • Use a askokcancel()função Tkinter para exibir uma caixa de diálogo de confirmação com dois botões OKe Cancel.
  • A askokcancel()função retorna Truese você clicar no OKbotão e Falsese você clicar no Cancelbotão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *