Palestra Tkinter - PUG-PI
III Encontro do Python User Group (PUG) do
Piauí
Palestra: Interface Gráfica com Tkinter
Palestrante: Marcos Castro
Objetivos
Objetivos da apresentação:
• Introdução ao Tkinter
• Conhecer algumas características do Tkinter
• Vantagens e desvantagens
• Desenvolver um programa usando Tkinter
O que vamos precisar?
• Python 2.7.3
• Algum editor (Ex.: Notepad++, Sublime Text 2)
O que é Tkinter?
Tkinter é uma biblioteca para interface gráfica.
Interface gráfica serve para que o usuário tenha
mais interatividade com o software.
Tkinter é padrão da linguagem Python. Ela é
baseada em Tcl (linguagem de programação
para scripts).
Usuários Windows
Para usuários Windows, o Tkinter já vem junto
ao instalador do Python!
Para testar, abra o cmd, digite python e faça:
• import Tkinter
• tk = Tkinter.Tk()
Irá exibir uma janela!
Execução
Usuários Linux
Você irá precisar fazer o download do Tkinter.
Abra o terminal e digite:
sudo apt-get install python-tk
Linux – Testando...
Vantagens
• Portabilidade – programas portáveis entre
Linux, Windows e Mac.
• É fácil de aprender, bom para iniciantes.
• Código limpo, boa documentação.
• Vai lhe ajudar quando você for aprender
interfaces gráficas mais robustas como PyGTK,
PyQt etc.
Desvantagens
• Poucos componentes gráficos, mas alguns
componentes podem ser feitos combinando
outros componentes.
• Aparência diferente da nativa do SO, mas é
uma boa interface.
• Desempenho.
Conceitos importantes
Widget é um componente de uma interface
gráfica.
Exemplos de widgets: botões, barras de
rolagem, janelas, menus etc.
Container é onde os widgets irão ficar.
Todo widget tem que está dentro de um
container!
Conceitos importantes
Gerenciadores de geometria
Servem para posicionar os widgets.
Se você não utilizar um gerenciador de
geometria, o widget não ficará visível ao usuário.
Você tem que indicar uma posição para o
widget!
O Tkinter possui 3 gerenciadores: pack, grid e
place.
Gerenciadores de geometria
pack: é o mais simples, fácil.
grid: coloca os seus widgets em posições
exatas. Um pouco mais complexo.
place: pouco utilizado, exige mais código.
Lei: não misture os gerenciadores de geometria!
Hello World
Botão e Evento de clique
Botão e Evento de clique
self.btn = Button(self.frame, text="botao")
self.btn = Button(self.frame)
self.btn["text"] = "botao"
Execução
pack
Lembra do pack ?
pack é um dos gerenciadores de geometria.
Você poderá utilizar o pack de várias maneiras.
Você pode por exemplo preencher
horizontalmente, alinhar um widget à esquerda
ou à direita etc.
pack e fill
Preenche horizontalmente:
self.btn = Button(self.frame)
self.btn.pack(fill=X)
Preenche verticalmente:
self.btn = Button(self.frame)
self.btn.pack(fill=Y)
pack e side
Serve para alinhar os widgets.
grid
grid é uma alternativa ao pack.
Utilizado em aplicações mais complexas,
fornece posições mais exatas.
row: a linha que o widget irá ficar
column: a coluna onde o widget irá ficar
grid - Exemplo 1
grid - Exemplo 2
grid - Exemplo 3
Colocando fonte no label
Exemplos de programas
Referências
http://effbot.org/tkinterbook/tkinter-index.htm
http://docs.python.org/2/library/tkinter.html

Construção de interfaces gráficas com Tkinter