SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Palestra Tkinter - PUG-PI
III Encontro do Python User Group (PUG) do Piauí
Palestra: Interface Gráfica comTkinter
Palestrante: Marcos Castro
Objetivos
Objetivos da apresentação:
• Introdução ao Tkinter
• Conhecer algumas características doTkinter
• 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
emTcl (linguagem de programação para scripts).
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!
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!
OTkinter 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

Mais conteúdo relacionado

Mais procurados (18)

Interface grafica
Interface graficaInterface grafica
Interface grafica
 
Java10
Java10Java10
Java10
 
Java gui
Java guiJava gui
Java gui
 
Java Swing
Java SwingJava Swing
Java Swing
 
Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)Introdução ao Java Swing (Interface)
Introdução ao Java Swing (Interface)
 
Java8
Java8Java8
Java8
 
Astro Pi - Explorando o Sense Hat
Astro Pi - Explorando o Sense HatAstro Pi - Explorando o Sense Hat
Astro Pi - Explorando o Sense Hat
 
Astro Pi - introdução ao Python
Astro Pi - introdução ao PythonAstro Pi - introdução ao Python
Astro Pi - introdução ao Python
 
Java6
Java6Java6
Java6
 
Excel Basic com VBA - Macros
Excel Basic com VBA - MacrosExcel Basic com VBA - Macros
Excel Basic com VBA - Macros
 
Java7
Java7Java7
Java7
 
Tratamento eventos
Tratamento eventosTratamento eventos
Tratamento eventos
 
Java11
Java11Java11
Java11
 
Aula 05/06 (Notification)
Aula 05/06 (Notification)Aula 05/06 (Notification)
Aula 05/06 (Notification)
 
Aula 22/05 (Handler)
Aula 22/05 (Handler)Aula 22/05 (Handler)
Aula 22/05 (Handler)
 
Java5
Java5Java5
Java5
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Jason: Componentes personalizados
Jason: Componentes personalizados Jason: Componentes personalizados
Jason: Componentes personalizados
 

Semelhante a Palestra sobre tkinter

Android bootcamp 06-01-2012 Part 1
Android bootcamp  06-01-2012 Part 1Android bootcamp  06-01-2012 Part 1
Android bootcamp 06-01-2012 Part 1Inael Rodrigues
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionala41172
 
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksDesenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksTchelinux
 
Sistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficoSistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficomarie1961
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II Verônica Veiga
 
c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2Cedemir Pereira
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basicEugenio Caetano
 
Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Guilherme Medeiros
 
FLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactFLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactMichel Alves
 
Introdução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaIntrodução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaArtur Barreto
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonAlvaro Oliveira
 

Semelhante a Palestra sobre tkinter (20)

Android bootcamp 06-01-2012 Part 1
Android bootcamp  06-01-2012 Part 1Android bootcamp  06-01-2012 Part 1
Android bootcamp 06-01-2012 Part 1
 
Curso python
Curso pythonCurso python
Curso python
 
Introdução ao qt
Introdução ao qtIntrodução ao qt
Introdução ao qt
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissional
 
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique MarksDesenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
Desenvolvimento orientado a objetos com C++ e QT4 - Henrique Marks
 
Sistema operativo em ambiente gráfico
Sistema operativo em ambiente gráficoSistema operativo em ambiente gráfico
Sistema operativo em ambiente gráfico
 
Apresentação QtConBr
Apresentação QtConBrApresentação QtConBr
Apresentação QtConBr
 
Apostila:Curso de java II
Apostila:Curso de java II  Apostila:Curso de java II
Apostila:Curso de java II
 
c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2c-gui-programming-with-qt-4-2ndedition -Cap1e2
c-gui-programming-with-qt-4-2ndedition -Cap1e2
 
Introducao ao visual basic
Introducao ao visual basicIntroducao ao visual basic
Introducao ao visual basic
 
Estudo tic u2
Estudo tic u2Estudo tic u2
Estudo tic u2
 
Rqt3
Rqt3Rqt3
Rqt3
 
Como Implementar Um Menu Ribbon em C#
Como Implementar Um Menu Ribbon em C#Como Implementar Um Menu Ribbon em C#
Como Implementar Um Menu Ribbon em C#
 
Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!Projeto para a faculdade? Canivete Python resolve!
Projeto para a faculdade? Canivete Python resolve!
 
FLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First ImpactFLTK Summer Course - Part I - First Impact
FLTK Summer Course - Part I - First Impact
 
Introdução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaIntrodução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráfica
 
Mini curso de cabri géomètre ii
Mini curso de cabri géomètre iiMini curso de cabri géomètre ii
Mini curso de cabri géomètre ii
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Matlab (guide)
Matlab (guide)Matlab (guide)
Matlab (guide)
 
Programando para web com python - Introdução a Python
Programando para web com python - Introdução a PythonProgramando para web com python - Introdução a Python
Programando para web com python - Introdução a Python
 

Palestra sobre tkinter