palestra sobre tkinter

28
Palestra Tkinter - PUG-PI III Encontro do Python User Group (PUG) do Piauí Palestra: Interface Gráfica com Tkinter Palestrante: Marcos Castro

Upload: marcos-castro

Post on 09-Jul-2015

474 views

Category:

Documents


5 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Palestra sobre tkinter

Palestra Tkinter - PUG-PI

III Encontro do Python User Group (PUG) do Piauí

Palestra: Interface Gráfica com Tkinter

Palestrante: Marcos Castro

Page 2: Palestra sobre tkinter

Objetivos

Objetivos da apresentação:

• Introdução ao Tkinter

• Conhecer algumas características do Tkinter

• Vantagens e desvantagens

• Desenvolver um programa usando Tkinter

Page 3: Palestra sobre tkinter

O que vamos precisar?

• Python 2.7.3

• Algum editor (Ex.: Notepad++, Sublime Text 2)

Page 4: Palestra sobre tkinter

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

Page 5: Palestra sobre tkinter

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!

Page 6: Palestra sobre tkinter

Execução

Page 7: Palestra sobre tkinter

Usuários Linux

Você irá precisar fazer o download do Tkinter.

Abra o terminal e digite:

sudo apt-get install python-tk

Page 8: Palestra sobre tkinter

Linux – Testando...

Page 9: Palestra sobre tkinter

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.

Page 10: Palestra sobre tkinter

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.

Page 11: Palestra sobre tkinter

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!

Page 12: Palestra sobre tkinter

Conceitos importantes

Page 13: Palestra sobre tkinter

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.

Page 14: Palestra sobre tkinter

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!

Page 15: Palestra sobre tkinter

Hello World

Page 16: Palestra sobre tkinter

Botão e Evento de clique

Page 17: Palestra sobre tkinter

Botão e Evento de clique

self.btn = Button(self.frame, text="botao")

self.btn = Button(self.frame)

self.btn["text"] = "botao"

Page 18: Palestra sobre tkinter

Execução

Page 19: Palestra sobre tkinter

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.

Page 20: Palestra sobre tkinter

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)

Page 21: Palestra sobre tkinter

pack e side

Serve para alinhar os widgets.

Page 22: Palestra sobre tkinter

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

Page 23: Palestra sobre tkinter

grid - Exemplo 1

Page 24: Palestra sobre tkinter

grid - Exemplo 2

Page 25: Palestra sobre tkinter

grid - Exemplo 3

Page 26: Palestra sobre tkinter

Colocando fonte no label

Page 27: Palestra sobre tkinter

Exemplos de programas