Python 3 - Radiobutton Tkinter

Este widget implementa um botão de múltipla escolha, que é uma forma de oferecer várias seleções possíveis ao usuário e permite que ele escolha apenas uma delas.

Para implementar esta funcionalidade, cada grupo de botões de opção deve estar associado à mesma variável e cada um dos botões deve simbolizar um único valor. Você pode usar a tecla Tab para alternar de um botão radion para outro.

Sintaxe

Aqui está a sintaxe simples para criar este widget -

w = Radiobutton ( master, option, ...  )

Parâmetros

  • master - Isso representa a janela pai.

  • options- Aqui está a lista das opções mais comumente usadas para este widget. Essas opções podem ser usadas como pares de valores-chave separados por vírgulas.

Sr. Não.Opção e descrição
1

activebackground

A cor de fundo quando o mouse está sobre o botão de opção.

2

activeforeground

A cor do primeiro plano quando o mouse está sobre o botão de opção.

3

anchor

Se o widget habitar um espaço maior do que o necessário, esta opção especifica onde o botão de opção ficará naquele espaço. O padrão é âncora = CENTRO.

4

bg

A cor de fundo normal atrás do indicador e do rótulo.

5

bitmap

Para exibir uma imagem monocromática em um botão de opção, defina esta opção para um bitmap.

6

borderwidth

O tamanho da borda ao redor da própria parte do indicador. O padrão é 2 pixels.

7

command

Um procedimento a ser chamado toda vez que o usuário muda o estado deste botão de opção.

8

cursor

Se você definir esta opção para um nome de cursor ( seta, ponto, etc. ), o cursor do mouse mudará para aquele padrão quando estiver sobre o botão de opção.

9

font

A fonte usada para o texto.

10

fg

A cor usada para renderizar o texto.

11

height

O número de linhas (não pixels) de texto no botão de opção. O padrão é 1.

12

highlightbackground

A cor do foco é destacada quando o botão de opção não tem foco.

13

highlightcolor

A cor do foco é realçada quando o botão de opção tem o foco.

14

image

Para exibir uma imagem gráfica em vez de texto para este botão de opção, defina esta opção para um objeto de imagem.

15

justify

Se o texto contiver várias linhas, esta opção controla como o texto é justificado: CENTRO (o padrão), ESQUERDA ou DIREITA.

16

padx

Quanto espaço deixar à esquerda e à direita do botão de opção e do texto. O padrão é 1.

17

pady

Quanto espaço deixar acima e abaixo do botão de opção e do texto. O padrão é 1.

18

relief

Especifica a aparência de uma borda decorativa ao redor da etiqueta. O padrão é FLAT; para outros valores.

19

selectcolor

A cor do botão de opção quando definido. O padrão é vermelho.

20

selectimage

Se você estiver usando a opção de imagem para exibir um gráfico em vez de texto quando o botão de rádio estiver desmarcado, você pode definir a opção de seleção de imagem para uma imagem diferente que será exibida quando o botão de rádio for definido.

21

state

O padrão é state = NORMAL, mas você pode definir state = DISABLED para esmaecer o controle e torná-lo sem resposta. Se o cursor estiver atualmente sobre o botão de opção, o estado é ATIVO.

22

text

O rótulo exibido próximo ao botão de opção. Use novas linhas ("\ n") para exibir várias linhas de texto.

23

textvariable

Para escravizar o texto exibido em um widget de rótulo para uma variável de controle da classe StringVar , defina esta opção para essa variável.

24

underline

Você pode exibir um sublinhado (_) abaixo da enésima letra do texto, contando a partir de 0, definindo esta opção como n. O padrão é sublinhado = -1, o que significa sem sublinhado.

25

value

Quando um botão de opção é ativado pelo usuário, sua variável de controle é definida com sua opção de valor atual. Se a variável de controle for IntVar , dê a cada botão de opção do grupo uma opção de valor inteiro diferente. Se a variável de controle for StringVar , dê a cada botão de opção uma opção de valor de string diferente.

26

variable

A variável de controle que este botão de opção compartilha com os outros botões de opção do grupo. Pode ser um IntVar ou StringVar.

27

width

Largura do rótulo em caracteres (não pixels!). Se esta opção não for definida, a etiqueta será dimensionada para caber em seu conteúdo.

28

wraplength

Você pode limitar o número de caracteres em cada linha, definindo esta opção para o número desejado. O valor padrão, 0, significa que as linhas serão quebradas apenas em novas linhas.

Métodos

Sr. Não.Método e Descrição
1

deselect()

Limpa (desliga) o botão de rádio.

2

flash()

O botão de opção pisca algumas vezes entre suas cores ativas e normais, mas deixa do jeito que começou.

3

invoke()

Você pode chamar este método para obter as mesmas ações que ocorreriam se o usuário clicasse no botão de opção para alterar seu estado.

4

select()

Define (liga) o botão de rádio.

Exemplo

Experimente o seguinte exemplo -

# !/usr/bin/python3
from tkinter import *

def sel():
   selection = "You selected the option " + str(var.get())
   label.config(text = selection)

root = Tk()
var = IntVar()
R1 = Radiobutton(root, text = "Option 1", variable = var, value = 1,
                  command = sel)
R1.pack( anchor = W )

R2 = Radiobutton(root, text = "Option 2", variable = var, value = 2,
                  command = sel)
R2.pack( anchor = W )

R3 = Radiobutton(root, text = "Option 3", variable = var, value = 3,
                  command = sel)
R3.pack( anchor = W)

label = Label(root)
label.pack()
root.mainloop()

Resultado

Quando o código acima é executado, ele produz o seguinte resultado -