Post on 24-May-2015
description
Palestra Tkinter - PUG-PI
III Encontro do Python User Group (PUG) do PiauíPalestra: Interface Gráfica com TkinterPalestrante: Marcos Castro
ObjetivosObjetivos 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 WindowsPara 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 LinuxVocê 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 importantesWidget é 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 cliqueself.btn = Button(self.frame, text="botao")
self.btn = Button(self.frame)self.btn["text"] = "botao"
Execução
packLembra 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 fillPreenche 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 sideServe para alinhar os widgets.
gridgrid é uma alternativa ao pack.
Utilizado em aplicações mais complexas, fornece posições mais exatas.
row: a linha que o widget irá ficarcolumn: a coluna onde o widget irá ficar
grid - Exemplo 1
grid - Exemplo 2
grid - Exemplo 3
Colocando fonte no label
Exemplos de programas
Referênciashttp://effbot.org/tkinterbook/tkinter-index.htm
http://docs.python.org/2/library/tkinter.html