Palestra sobre a construção de interfaces gráficas utilizando o Tkinter que é o módulo padrão para construção de GUI's do Python. Essa apresentação foi feita no III PUG-PI (Python User Group do Piaui).
Programando para web com python - Introdução a Python
Palestra sobre tkinter
1. Palestra Tkinter - PUG-PI
III Encontro do Python User Group (PUG) do Piauí
Palestra: Interface Gráfica comTkinter
Palestrante: Marcos Castro
2. Objetivos
Objetivos da apresentação:
• Introdução ao Tkinter
• Conhecer algumas características doTkinter
• Vantagens e desvantagens
• Desenvolver um programa usando Tkinter
3. O que vamos precisar?
• Python 2.7.3
• Algum editor (Ex.: Notepad++, Sublime Text 2)
4. 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
emTcl (linguagem de programação para scripts).
5. UsuáriosWindows
Para usuários Windows, o Tkinter já vem junto ao
instalador do Python!
Para testar, abra o cmd, digite python e faça:
• importTkinter
• tk =Tkinter.Tk()
Irá exibir uma janela!
9. 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.
10. 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.
11. 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!
13. 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!
OTkinter possui 3 gerenciadores: pack, grid e place.
14. 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!
19. 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.
20. 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)
22. 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