Leia nosso conteúdo sem precisar de internet: Apostila Python Progressivo
Widget de Botão: Button
Em programação gráfica em Python, o que ocorre por trás dos panos quando criamos um botão é a chamada de um método.
Ou seja, clicou em OK, então o código vai atrás de um determinado método ou função e executa ele. Já se clicar em Cancelar outro método ou função que será invocado.
Para criarmos um botão, usamos a classe Button, que recebe três parâmetros:
- A janela mestre (objeto do tipo Tk() )
- text: string com o texto que vai aparecer no botão (Ok, Cancelar, Sair...)
- command: nome do método ou função que vai ser chamado quando clicarmos no botão, mas sem os parêntesis
Exemplo de uso do Botão em Python
Vamos criar um botão que com o texto "Clique aqui", que quando cli.cado, chama o método hello_world(), que dentro dele exibe uma caixa de diálogo.Veja como fica nosso código Python:
from tkinter import * from tkinter import messagebox class MinhaGUI: def __init__(self): # Criamos a janela principal self.janela_principal = Tk() # Criando o botão self.botao = Button(self.janela_principal, text='Clique aqui', command=self.hello_world) # Empacotando o botão na janela principal self.botao.pack() # Rodando mainloop() def hello_world(self): messagebox.showinfo('Adoro a Apostila Python Progressivo!') gui = MinhaGUI()
E o resultado:
Ao clicar, aparece essa caixa de diálogo:
O Botão sair: quit button
Se você clicar em "Clique aquI", aparece a caixa de diálogo.Se clicar no "Ok" da caixa de mensagem, volta pra janela principal, que tem o "Clique aqui" e fica nisso, eternamente. Só acaba se clicar no x de fechar.
Mas o comum é ter um botão de fechar, cancelar, sair...que ao clicar nele, nossa aplicação se encerre.
Pois bem, todo objeto da classe Tk() tem um método chamado quit(), mas chamar ele que as janelas fecham ao clicar no botão.
Então, vamos criar mais um botão, o botao_sair, que ao ser clicado (command) chama o método quit() da janela principal, que fecha o programa.
Veja como fica nosso código:
from tkinter import * from tkinter import messagebox class MinhaGUI: def __init__(self): # Criamos a janela principal self.janela_principal = Tk() # Criando os botões self.botao = Button(self.janela_principal, text='Clique aqui', command=self.hello_world) self.botao_sair = Button(self.janela_principal, text='Sair', command=self.janela_principal.quit) # Empacotando os botões janela principal self.botao.pack() self.botao_sair.pack() # Rodando mainloop() def hello_world(self): messagebox.showinfo('Adoro a Apostila Python Progressivo!') gui = MinhaGUI()
E o resultado:
Experimente clicar em Sair e veja o que acontece!
Bom... não acontece nada quando aperta pra sair kk
ResponderExcluirkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Excluirbotao4 = Button(root, text='Sair',command=root.quit)
Excluirnão deu a função .destroy()
ResponderExcluirfrom tkinter import *
ResponderExcluirfrom tkinter import messagebox
class MinhaGUI:
def __init__(self):
# Criamos a janela principal
self.janela_principal = Tk()
# Criando os botões
self.botao = Button(self.janela_principal, text='Clique aqui', command=self.hello_world)
def quit():
self.janela_principal.destroy()
self.botao_sair = Button(self.janela_principal, text='Sair', command=quit)
# Empacotando os botões janela principal
self.botao.pack()
self.botao_sair.pack()
# Rodando
mainloop()
def hello_world(self):
messagebox.showinfo('Adoro a Apostila Python Progressivo!')
gui = MinhaGUI()
O codigo da erro quando acrescento: gui = MinhaGUI()
ResponderExcluirO que devo fazer?
Como faz pra colocar texto dentro da janela?
ExcluirComo faz pra colocar um texto dentro da caixa?
ResponderExcluircomo faz pra colocar um texto dentro da janela?
ResponderExcluir