Tkinter Tutorial - Checkbutton
- Exemplo Básico do Checkbutton do Tkinter
- Tkinter Checkbutton Select/Deselect
- Botão de seleção Tkinter Botão de seleção State Toggle
- Botão de verificação da função de retorno de chamada
- Alterar o valor padrão do botão Checkbutton Tkinter
O widget Checkbutton
é um widget com um valor. Os botões de verificação podem conter tanto texto quanto imagens. Ele também pode ligar a função de retorno de chamada quando o botão de verificação é clicado.
Para criar um widget de botão de verificação em uma janela pai existente, use
tk.Checkbutton(parent, option, ...)
Exemplo Básico do Checkbutton do Tkinter
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
chkExample.grid(column=0, row=0)
app.mainloop()
chkValue = tk.BooleanVar()
Cada botão de verificação deve ser associado a uma variável. O tipo de dados da variável é determinado pelo botão de seleção/desmarcação quando selecionada/desmarcada.
chkValue.set(True)
Define o valor original do botão de seleção. Como ele é apenas atribuído com o tipo de dado Boolean
, você só tem duas opções aqui, True
ou False
.
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
Agora a instância do botão de verificação é eventualmente criada com a variável chkValue
que fizemos acima.
chkExample.grid(column=0, row=0)
A grid
é outro tipo de gerenciador de layout Tkinter além da pack
introduzida na seção Tkinter Label.
Tkinter tem três gerenciadores de layout/geometria,
pack
grid
place
Vamos introduzir estes gestores de layout/geometria numa secção deste tutorial.
Tkinter Checkbutton Select/Deselect
O usuário pode clicar no botão de verificação no GUI para selecionar ou desmarcar o botão. Você também pode selecionar ou desmarcar o botão utilizando o método select()
e deselect()
.
chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.select()
print "The checkbutton value when deselected is {}".format(chkValue.get())
The checkbutton value when selected is True
The checkbutton value when deselected is False
Aqui, o valor do botão de seleção é obtido pelo método get()
.
Botão de seleção Tkinter Botão de seleção State Toggle
O botão de verificação poderia ser modificado por select()
e deselect()
, e também poderia ser comutado utilizando o método toggle()
.
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue)
chkExample.grid(column=0, row=0)
print "The checkbutton original value is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled is {}".format(chkValue.get())
chkExample.toggle()
print "The checkbutton value after toggled twice is {}".format(chkValue.get())
app.mainloop()
The checkbutton original value is True
The checkbutton value after toggled is False
The checkbutton value after toggled twice is True
Botão de verificação da função de retorno de chamada
O widget Checkbutton é usado para selecionar os estados e também pode vincular a função de retorno de chamada ao evento quando ele é selecionado/desmarcado, ou mais direto, alternado. Sempre que o estado do botão de verificação é alternado, a função de chamada de retorno é acionada.
import tkinter as tk
from _cffi_backend import callback
def callBackFunc():
print "Oh. I'm clicked"
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.BooleanVar()
chkValue.set(True)
chkExample = tk.Checkbutton(app, text="Check Box", var=chkValue, command=callBackFunc)
chkExample.grid(column=0, row=0)
app.mainloop()
Cada vez que você pressiona o botão de verificação, você pode ver que ele imprime Oh. I'm clicked
no console.
A opção command
na classe Checkbutton destina-se a ligar a função ou método de chamada de retorno quando o botão é pressionado.
Alterar o valor padrão do botão Checkbutton Tkinter
O valor padrão correspondente ao botão de seleção não selecionado é 0, e o valor padrão do botão selecionado é 1. E você também pode alterar os valores padrão do botão de seleção e seu tipo de dados associados para o outro valor e/ou tipo de dados.
import tkinter as tk
app = tk.Tk()
app.geometry("150x100")
chkValue = tk.StringVar()
chkExample = tk.Checkbutton(
app, text="Check Box", var=chkValue, onvalue="RGB", offvalue="YCbCr"
)
chkExample.grid(column=0, row=0)
chkExample.select()
print "The checkbutton value when selected is {}".format(chkValue.get())
chkExample.deselect()
print "The checkbutton value when deselected is {}".format(chkValue.get())
app.mainloop()
The checkbutton value when selected is RGB
The checkbutton value when deselected is YCbCr
chkExample = tk.Checkbutton(
app, text="Check Box", var=chkValue, onvalue="RGB", offvalue="YCbCr"
)
O onvalue
e o offvalue
são opções para alterar valores dos estados selecionado e não selecionado. Eles poderiam ter tipos de dados como Int
, String
, Float
ou outros.
_tkinter.TclError
.Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook