Enviar um café pro programador

O Módulo Tkinter

Neste tutorial inicial de GUI, vamos conhecer o módulo que usaremos para criar interfaces gráficas em Python.

Tkinter - GUI em Python

O Python por si só não possui um sistema próprio, nativo, para programação GUI.
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 é:

Módulo Tkinter em Python
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.

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.

Um comentário:

  1. 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