Checkbutton
O Widget checkbutton é um widget Tkinter padrão usados para implementar seleções on-off. Checkbuttons podem conter texto ou imagens, e você pode associar uma função Python ou método para cada botão. Quando o botão é pressionado, Tkinter chama essa função ou método.
Text
O Text é um Widget de texto que fornece exibição de texto formatado. Ele permite que você para exibir e editar texto com vários estilos e atributos. O widget também suporta imagens e Windows Embedded.
Line Continue
O caractere \ (barra invertida) é usado para dizer ao interpretador Python que você esta continuando uma linha de código em um nova linha, evitando assim que o interpretador acuse um erro de identação.
Exemplo:
Neste exemplo criamos três checkbuttons usando o evento ONCLICK através do comando command, onde verificamos se o status do checkbutton foi checado ou não.
#!/usr/bin/env python
# -*- coding: latin-1 -*-
# Desenvolvimento Aberto
# checkbox.py
# importa modulo
from Tkinter import *
# Cria formulario
formulario = Tk()
formulario.title = "Desenvolvimento Aberto"
# Evento CB on click
def evento1():
if (c1.get() == 1):
texto.insert(END,"Voce selecionou no Checkbox 1\n")
else:
texto.insert(END,"Voce deselecionou no Checkbox 1\n")
def evento2():
if (c2.get() == 1):
texto.insert(END,"Voce selecionou no Checkbox 2\n")
else:
texto.insert(END,"Voce deselecionou no Checkbox 2\n")
def evento3():
if (c3.get() == 1):
texto.insert(END,"Voce selecionou no Checkbox 3\n")
else:
texto.insert(END,"Voce deselecionou no Checkbox 3\n")
# Define variavel para status do checkbox
c1 = IntVar()
c2 = IntVar()
c3 = IntVar()
# Cria um novo label
rotulo = Label(formulario, text = "Concatena Strings")
# Identa linhas usando o caracter continuacao de linua
# Cria os checkbox
opc1 = Checkbutton(formulario, text = "Opcao1", \
variable =c1, \
command = evento1)
opc2 = Checkbutton(formulario, text = "Opcao2", \
variable =c2, \
command = evento2)
opc3 = Checkbutton(formulario, text = "Opcao3", \
variable =c3, \
command = evento3)
texto = Text(formulario, height = 10, width = 50)
# Adiciona Componentes no Grid
rotulo.grid(row=0, column=1)
opc1.grid(row=1, column=1)
opc2.grid(row=2, column=1)
opc3.grid(row=3, column=1)
texto.grid(row=4, column=1)
# Roda o loop principal do tcl
mainloop()

