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()