Tkinter - GUI em Python
Porém, existe um módulo muito famoso, bem poderoso e fácil de usar, chamado Tkinter.
Tkinter vem de Tk interface.
Tk é de Tool Kit, ou seja, um conjunto de ferramentas, usando a TCL (Tool Command Language).
O módulo Tkinter é tão famoso, que é praticamente um padrão da linguagem Python, para programarmos interface gráfica.
Porém, esse módulo é tão bacana que é usado por diversas outras linguagens de programação.
Componentes da Tk
GUI é composto por diversos componentes, chamados de widget (windows gadget, ou seja, componentes de janela), que nada mais são que objetos que o usuário vai ver e interagir.
O módulo Tkinter possui 15 widgets:
- Button: botões, onde algum evento ocorre quando clicamos
- Checkbutton : aqueles botões de check, tipo on e off
- Radiobutton: botões do tipo radio, onde é permitido escolher apenas uma opção (Masculino ou Feminino, por exemplo)
- Canvas: uma área retangular, que podemos colocar e exibir coisas dentro, como uma imagem
- Entry: um campo de entrada, onde o usuário pode digitar alguma linha de informação
- Frame: um 'container', uma área que serve pra abrigar e agrupar outros widgets
- Label: rótulo, uma área que exibe um texto ou uma imagem
- Listbox: uma lista de opções para o usuário marcar o que quiser
- Menu: uma lista de opções, um menu, onde o usuário vai clicar em alguma opção e algo vai ocorrer
- Menubutton: menu que é exibido na tela e pode ser clicado pelo usuário
- Message: mostra múltiplas linha de texto na tela
- Scale: um widget onde o usuário pode clicar, segurar e mover um ao longo de uma faixa (tipo, aumentar e reduzir o volume)
- Scrollbar: barra de rolagem
- Text: permite o usuário digitar múltiplas linhas de texto
- Toplevel: um container, como um Frame, mas exibe sua própria janela
Como usar o Tkinter - Criando uma GUI Simples
Vamos criar o exemplo mais simples possível de programa usando interface gráfica, que é simplesmente criar uma janela, vazia, sem nada:
import tkinter main_window = tkinter.Tk() tkinter.mainloop()
O comando acima funciona para Python 3.
Se estiver rodando o Python 2, use com T maiúsculo:
import Tkinter main_window = Tkinter.Tk() Tkinter.mainloop()
O resultado é:
Primeiro, importamos o módulo tkinter.
Depois, criamos uma classe do tipo Tk() e atribuímos a variável main_window (janela principal).
Por fim, chamamos a função mainloop(), do módulo. Ela é responsável por ficar exibindo, indefinidamente essa janelinha principal, até que você feche ela.
- Baixe nosso conteúdo inteiro: Apostila Python Progressivo
Tkinter e Orientação a Objetos
O normal, o comum e recomendável, é trabalhar com programação GUI usando os conceitos que aprendemos programação orientada a objetos, pois assim fica bem mais fácil entender.
Vamos ver esses componentes como objetos.
Veja como fica em POO:
import tkinter class MinhaGUI: def __init__(self): # Criando a janela principal main_window = tkinter.Tk() # Exibindo ela em looping tkinter.mainloop() minha_gui = MinhaGUI()
Não é a atoa que a seção de orientação a objetos veio antes da seção de GUI.
Só um adendo, utilizando aqui no python 3.7 o ultimo algoritmo so funcionou quando deixei o 'main_window = tkinter.Tk()' tabulado em relação a linha anterior.
ResponderExcluir