Checkbutton
chk = tk.Checkbutton(parent, opcao=valor, ...)
Cria um Checkbutton numa janela ou numa frame, ‘parent’.
O construtor retorna o objeto Checkbutton.
O componente Checkbutton é um componente que tem 2 estados 1 ou 0, alternando o estado quando se clica nele.
Um componente Checkbutton é composto por duas partes: um indicator que mostra o estado do componente, e uma label que mostra o texto ao lado do componente.
Podemos alterar o aspecto de um Checkbutton se usarmos a opção indicator e a pusermos a 0. Isso transforma o componente num checkbutton com dois estados, conforme está clicado ou não:
Fig. 1 – Componente Checkbutton com indicatoron=0
Para obter e/ou alterar o estado do Checkbutton temos de criar uma variável de controle, instância da classe IntVar, que depois referenciamos na propriedade variable.
Podemos capturar os eventos sobre o Checkbutton, definindo uma função de callback, na propriedade command.
Atributos
Opção | Descrição |
---|---|
activebackground | Cor de fundo quando o cursor está sobre o checkbutton. |
activeforeground | Cor de texto quando o cursor está sobre o checkbutton. |
anchor | Posicionamento do texto: CENTER, N, S, E, W, NE, NW, SE, SW. |
bd ou borderwidth | Espessura do bordo à volta do checkbutton. Valor de defeito: 2 pixeis. |
bg ou background | Cor de fundo. |
bitmap | Nome de um dos bitamps standard ou de um bitmap customizado. |
command | Função a ser chamada quando o checkbutton é clicado. |
compound | Usar esta opção caso queira usar texto e gráfico neste componente. Os valores desta opção descrevem o posicionamento do gráfico face ao texto e podem ser: BOTTOM, TOP, LEFT, RIGHT, or CENTER. |
cursor | Nome do cursor a ser mostrado quando o rato está sobre o checkbutton. |
default | tk.NORMAL é o valor de defeito; tk.DISABLED se o checkbutton fôr para ser mostrado desabilitado. |
disabledforeground | Cor de texto usado quando o checkbutton estiver desabilitado. |
fg ou foreground | Cor de texto. |
font | Nome da fonte do texto do checkbutton. |
height | Altura do checkbutton em número de linhas (para checkbutton com texto) ou pixeis (para checkbutton com imagem). |
highlightbackground | Cor do foco quando o checkbutton nao tem o foco. |
highlightcolor | Cor do foco quando o checkbutton tem o foco. |
highlightthickness | Espessura do foco. |
image | Imagem a ser mostrada (em vez do texto) |
indicatoron | Se esta opção fôr igual a zero, o checkbutton transforma-se num checkbutton com dois estados: para baixo está selecionado(1), para cima está deselecionado (0). |
justify | Justificação de multiplas linhas: tk.LEFT, tk.CENTER ou tk.RIGHT. |
offrelief | Por defeito, um checkbutton está para cima (RAISED) quando o seu valor é 0 (off). Pode-se usar esta opção para definir outros estilos de relevo quando o checkbutton está off. |
offvalue | Por defeito, a variável de controle está a 0 quando o checkbutton está off. Pode-se usar esta opção para definir outro valor para a variável de controle quando o checkbutton está off. |
onvalue | Por defeito, a variável de controle está a 1 quando o checkbutton está on. Pode-se usar esta opção para definir outro valor para a variável de controle quando o checkbutton está on. |
overrelief | Estilo de relevo quando o rato está sobre o checkbutton. Valor de defeito é tk.RAISED. |
padx | Padding adicional à esquerda e à direita do texto. |
pady | Padding adicional acima e abaixo do texto. |
relief | Tipo de relevo do checkbutton. Valor de defeito: tk.RAISED. |
selectcolor | Define a cor do checkbutton quando está On. |
selectimage | Define uma imagem quando o checkbutton está On. |
state | Valor tk.DISABLED torna o checkbutton irresponsivo. Valor tk.ACTIVE quando o rato está sobre o checkbutton. Valor tk.NORMAL é o valor de defeito. |
takefocus | Se igual a zero o checkbutton não receberá o foco a partir do teclado. |
text | Texto do checkbutton. |
textvariable | Uma instância de StringVar() que está associada ao texto do checkbutton. Se o texto da variável mudar, o texto do checkbutton mudará igualmente. |
variable | Define a variável de controle que é, normalmente, um IntVar. O valor 0 significa que o checkbutton está Off e o valor 1 significa que o checkbutton está On. |
width | Largura do checkbutton em carateres (para checkbutton com text) ou pixeis (para checkbutton com imagem). |
wraplength | Se este valor fôr um valor positivo, as linhas de texto serão quebradas para caberem neste comprimento. |
Métodos
.deselect() : Deseleciona o checkbutton: põe-no a Off.
.flash() : pisca o checkbutton entre as cores ativa e normal.
.invoke() : chama a função especificada em command e retorna o que aquela função retornar. Não tem efeito se o checkbutton estiver desabilitado ou não estiver definida uma função de callback.
.select() : Seleciona o checkbutton: põe-no a On.
.toggle() : Seleciona o checkbutton se estiiver deselecionado e vice-versa.
Exemplo:
from tkinter import *
from tkinter import messagebox
window = Tk()
Label(window, text="Linguagens:").grid(row=0, sticky=W)
#Checkbuttons:
pythonVar = IntVar()
Checkbutton(window, text="Python", variable=pythonVar).grid(row=1, sticky=W)
javaVar = IntVar()
Checkbutton(window, text="Java", variable=javaVar).grid(row=2, sticky=W)
cVar = IntVar()
Checkbutton(window, text="C", variable=cVar).grid(row=3, sticky=W)
#função de callback do botão:
def verLinguagem():
str = ""
if pythonVar.get() == 1:
str+= "Python "
if javaVar.get() == 1:
str += "Java "
if cVar.get() == 1:
str += "C "
messagebox.showinfo("Linguagens", str)
bt = Button(window, text="Ver", command=verLinguagem)
bt.grid(row=4, sticky=E)
window.mainloop()
Saída:
