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 -