Caixa de seleção do Tkinter

Resumo : neste tutorial, você aprenderá sobre o widget Tkinter Checkbox e como usá-lo de forma eficaz.

Introdução ao widget de caixa de seleção Tkinter

Uma caixa de seleção é um widget que permite marcar e desmarcar.

Uma caixa de seleção pode conter um valor e invocar um retorno de chamada quando estiver marcada ou desmarcada.

Normalmente, você usa uma caixa de seleção quando deseja pedir aos usuários que escolham entre dois valores.

Para criar uma caixa de seleção, você usa o ttk.Checkbuttonconstrutor:

checkbox_var = tk.StringVar()

def check_changed():
    #...

checkbox = ttk.Checkbutton(container,
                text='<checkbox label>',
                command=check_changed,
                variable=checkbox_var,
                onvalue='<value_when_checked>',
                offvalue='<value_when_unchecked>')Linguagem de código:  Python  ( python )

O containerargumento especifica a janela na qual você deseja colocar a caixa de seleção.

O textargumento especifica o rótulo da caixa de seleção.

O commandé um callable que será chamado assim que a caixa de seleção for marcada ou desmarcada.

O variablecontém o valor atual da caixa de seleção. Se a caixa de seleção estiver marcada, o valor da variável será 1. Caso contrário, será 0.

Se desejar outros valores além de 0 e 1, você pode especificá-los nas opções onvaluee offvalue.

Se a variável vinculada não existir, ou seu valor não for nem o valor ligado nem o valor desligado, a caixa de seleção estará no modo indeterminado ou tristate.

Exemplo de caixa de seleção Tkinter

O programa a seguir ilustra como usar um widget de caixa de seleção. Depois de marcar ou desmarcar a caixa de seleção, uma caixa de mensagem mostrará o valor ativado e o valor desativado de acordo:

import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo

root = tk.Tk()
root.geometry('300x200')
root.resizable(False, False)
root.title('Checkbox Demo')

agreement = tk.StringVar()


def agreement_changed():
    tk.messagebox.showinfo(title='Result',
                        message=agreement.get())


ttk.Checkbutton(root,
                text='I agree',
                command=agreement_changed,
                variable=agreement,
                onvalue='agree',
                offvalue='disagree').pack()


root.mainloop()Linguagem de código:  Python  ( python )

Saída:

Como funciona.

Primeiro, crie uma variável de string que conterá o valor da caixa de seleção:

agreement = tk.StringVar()

Segundo, defina uma função que será chamada assim que o estado da caixa de seleção for alterado. A função mostra o valor da caixa de seleção:

def agreement_changed():
    tk.messagebox.showinfo(title='Result',
                        message=agreement.get())Linguagem de código:  JavaScript  ( javascript )

Terceiro, crie um widget de caixa de seleção e defina suas opções de acordo:

ttk.Checkbutton(root,
                text='I agree',
                command=agreement_changed,
                variable=agreement,
                onvalue='agree',
                offvalue='disagree').pack()Linguagem de código:  JavaScript  ( javascript )

Resumo

  • Use ttk.Checkbutton(text, variable)para criar uma caixa de seleção; a variável é a tk.StringVar().
  • Use commando argumento para especificar uma função que é executada quando o botão está marcado ou desmarcado.
  • Use onvaluee offvaluepara determinar qual valor terá variable.

Deixe um comentário

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