Tkinter: Interfaces gráficas em Python
As interfaces gráficas do usuário (GUI – Graphic User Interface) são bastante populares no uso de softwares em geral, e os programadores devem estar aptos a trabalhar com a criação de interfaces, já que torna o uso mais fácil além de aumentar a produtividade.
Para quem trabalha com desenvolvimento em Python, existem diversos frameworks e ferramentas que permitem a criação interfaces gráficas.
O que é Tkinter?
Tkinter é uma biblioteca da linguagem Python que acompanha a instalação padrão e permite desenvolver interfaces gráficas. Isso significa que qualquer computador que tenha o interpretador Python instalado é capaz de criar interfaces gráficas usando o Tkinter, com exceção de algumas distribuições Linux, exigindo que seja feita o download do módulo separadamente
Por que usar Tkinter?
Um dos motivos de estarmos usando o Tkinter como exemplo é a sua facilidade de uso e recursos disponíveis. Outra vantagem é que é nativo da linguagem Python, tudo o que precisamos fazer é importá-lo no momento do uso, ou seja, estará sempre disponível.
Instalação e primeiro uso do Tkinter
Para que você possa trabalhar com Tkinter, é necessário que tenha pelo menos algum conhecimento em Python, então, não abordaremos a instalação padrão do interpretador e seus recursos.
A instalação padrão do Python acompanha além do interpretador, um ambiente de desenvolvimento, o IDLE, que está incluso no pacote Python na maioria das versões, com exceção de algumas distribuições Linux.
Na Figura 1 vemos o ambiente de desenvolvimento incluso no pacote Python, que por sinal, foi feito com o próprio Tkinter.

Durante todos os exemplos do artigo estaremos usando o IDLE na versão 3.5 do Python.
O Tkinter já vem por padrão na maioria das instalações Python, então tudo que temos que fazer é importar a biblioteca.
Para importar todo o conteúdo do módulo usamos o seguinte comando:
From Tkinter import *
Conceitos de GUI (Graphic User Interface)
Uma GUI aborda muitos conceitos, dos quais os mais comuns são:
- Container – É uma analogia a um container físico e tem como objetivo organizar e guardar objetos. Da mesma forma este conceito serve para um container em interface. Nesse caso, os objetos que estamos armazenando são os widgets;
- Widget – É um componente qualquer na tela, que pode ser um botão, um ícone, uma caixa de texto, etc.;
- Event Handler – São tratadores de eventos. Por exemplo, ao clicarmos em um botão para executar uma ação, uma rotina é executada. Essa rotina é chamada de event handler;
- Event Loop – O event loop verifica constantemente se outro evento foi acionado. Caso a hipótese seja verdadeira, ele irá executar a rotina correspondente.
Montando a interface
Vamos começar a montar a interface. Começaremos a escrever nosso primeiro código usando a Listagem 1.
class Application: def __init__(self, master=None): pass root = Tk() Application(root) root.mainloop()
Listagem 1. Início da interface - Criando frame top levelVamos entender o código: primeiro importamos todos os componentes do módulo Tkinter. Logo após, criamos uma classe chamada Application, que no momento ainda não possui nenhuma informação. É nela que criaremos os controles que serão exibidos na tela.
Depois instanciamos a classe TK() através da variável root, que foi criada no final do código. Essa classe permite que os widgets possam ser utilizados na aplicação.
Em Application(root) passamos a variável root como parâmetro do método construtor da classe Application. E para finalizar, chamamos o método root.mainloop() para exibirmos a tela. Sem o event loop, a interface não será exibida.
O código foi salvo em um arquivo .py (extensão Python) e depois executado. O resultado obtido é o mesmo da Figura 2.
Conclusão
No Python é possivel fazer muitas coisas com ele , hoje eu mostrei como se cria uma GUI, o app em questão é bastante simples e conforme o tempo vai passando vou mostrar como add alguns widgets(texto, botão, etc...) .
Este comentário foi removido pelo autor.
ResponderExcluirConteúdo deveras interessante, me deu mais noção sobre o assunto.
ResponderExcluirFico feliz em o ajudar!!!
Excluir