GUI Programming

Dominando Radiobuttons Tkinter: Um Guia Completo

Spread the love

O widget Radiobutton do Tkinter oferece uma maneira amigável ao usuário de apresentar um conjunto de opções mutuamente exclusivas. Este tutorial explora suas funcionalidades, guiando você na criação, personalização e resposta às seleções do usuário.

Sumário:

  1. Criando Botões de Rádio
  2. Recuperando Valores Selecionados
  3. Personalizando a Aparência
  4. Usando Funções de Callback

1. Criando Botões de Rádio

Para criar botões de rádio, cada um precisa ser vinculado a uma variável compartilhada (tipicamente uma StringVar). Isso garante que apenas um botão dentro do grupo possa ser selecionado por vez. Veja como criar um conjunto básico:


import tkinter as tk

root = tk.Tk()
root.title("Exemplo de Radiobutton Tkinter")

selected_option = tk.StringVar(value="Opção A")

radio_button_a = tk.Radiobutton(root, text="Opção A", variable=selected_option, value="Opção A")
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="Opção B", variable=selected_option, value="Opção B")
radio_button_b.pack(anchor=tk.W)

radio_button_c = tk.Radiobutton(root, text="Opção C", variable=selected_option, value="Opção C")
radio_button_c.pack(anchor=tk.W)

root.mainloop()

Este código cria três botões de rádio. O argumento variable os vincula, e o atributo value atribui um valor à seleção de cada botão.

2. Recuperando Valores Selecionados

Acessar o valor selecionado é simples. Basta usar o método get() na variável compartilhada:


import tkinter as tk

root = tk.Tk()
root.title("Obter Valor do Radiobutton")

selected_option = tk.StringVar(value="Opção A")

# ... (Criação do Radiobutton como acima) ...

def get_selected():
    print(f"Opção selecionada: {selected_option.get()}")

button = tk.Button(root, text="Obter Valor", command=get_selected)
button.pack()

root.mainloop()

Este exemplo adiciona um botão que imprime a opção selecionada quando clicado. O método get() recupera o valor atual da StringVar.

3. Personalizando a Aparência

Você pode modificar os aspectos visuais do botão de rádio. Por exemplo, a opção indicatoron controla a visibilidade do indicador, e selectcolor muda a cor quando selecionado:


import tkinter as tk

root = tk.Tk()
root.title("Personalizar Aparência do Radiobutton")

selected_option = tk.StringVar(value="Opção A")

radio_button_a = tk.Radiobutton(root, text="Opção A", variable=selected_option, value="Opção A", indicatoron=False, selectcolor="lightgreen")
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="Opção B", variable=selected_option, value="Opção B", selectcolor="lightblue")
radio_button_b.pack(anchor=tk.W)

root.mainloop()

Isso mostra como ocultar o indicador e alterar a cor de seleção. Experimente outros estilos para alcançar a aparência desejada.

4. Usando Funções de Callback

Para uma abordagem mais limpa e responsiva, use a opção command para vincular diretamente uma função a cada botão de rádio:


import tkinter as tk

root = tk.Tk()
root.title("Callback do Radiobutton")

def option_selected():
    print(f"Opção selecionada: {selected_option.get()}")

selected_option = tk.StringVar(value="Opção A")

radio_button_a = tk.Radiobutton(root, text="Opção A", variable=selected_option, value="Opção A", command=option_selected)
radio_button_a.pack(anchor=tk.W)

radio_button_b = tk.Radiobutton(root, text="Opção B", variable=selected_option, value="Opção B", command=option_selected)
radio_button_b.pack(anchor=tk.W)

root.mainloop()

Este método executa option_selected sempre que um botão é selecionado, fornecendo uma solução mais eficiente e elegante para lidar com interações do usuário.

Deixe um comentário

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