Algoritmos e Programação - 2016.2 - Aula 21
-
Upload
thyago-maia -
Category
Education
-
view
214 -
download
10
Transcript of Algoritmos e Programação - 2016.2 - Aula 21
![Page 1: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia
![Page 2: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/2.jpg)
GUI em Python (tkinter)
![Page 3: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/3.jpg)
GUI em Python (tkinter)
• GUI = Graphical User Interface;
• Python provê vários módulos (scripts) para o desenvolvimento de interfaces gráficas;
• Uma das mais importantes é a interface tkinter;– Biblioteca padrão do Python para a programação de
interfaces gráficas;– Provê uma forma rápida e fácil para a criação de aplicações
com GUI; 3
![Page 4: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/4.jpg)
GUI em Python (tkinter)
• Passo a passo para utilizar o tkinter em módulos Python:– Importar o módulo tkinter;– Criar uma janela principal (a janela inicial do
módulo);– Adicionar um ou mais itens (widgets) na janela;– Adicionar um evento de loop principal para obter
ações (eventos) do usuário;– Implementar funções que serão executadas de
acordo com as ações do usuário;4
![Page 5: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/5.jpg)
Exemplo 1 – Criando a Janela Principal
![Page 6: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/6.jpg)
Exemplo 1
• Criando a Janela Principal
6
import tkinter
janela = tkinter.Tk()
janela.mainloop()
![Page 7: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/7.jpg)
Exemplo 1
• Criando a Janela Principal
7
![Page 8: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/8.jpg)
Exemplo 2 – Mudando o Título da Janela Principal
![Page 9: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/9.jpg)
Exemplo 2
• Mudando o Título da Janela Principal
9
import tkinter
janela = tkinter.Tk()janela.title('Bem vindo ao
meu programa!')
janela.mainloop()
![Page 10: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/10.jpg)
Exemplo 2
• Mudando o Título da Janela Principal
10
![Page 11: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/11.jpg)
Exemplo 3 – Mudando o Tamanho da Janela Principal
![Page 12: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/12.jpg)
Exemplo 3
• Mudando o Tamanho da Janela Principal
12
import tkinter
janela = tkinter.Tk()janela.title('Bem vindo ao meu programa!')janela.geometry('800x600')
janela.mainloop()
![Page 13: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/13.jpg)
Exemplo 3
• Mudando o Tamanho da Janela Principal
13
![Page 14: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/14.jpg)
Exemplo 4 – Adicionando Widgets na Janela Principal
![Page 15: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/15.jpg)
Exemplo 4
• Adicionando Widgets na Janela Principal– Rótulo
15
import tkinter
janela = tkinter.Tk()janela.title('Bem vindo ao meu programa!')
rotulo = tkinter.Label(janela, text=‘Olá’)rotulo.pack()
janela.mainloop()
![Page 16: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/16.jpg)
Exemplo 4
• Adicionando Widgets na Janela Principal
16
![Page 17: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/17.jpg)
Exemplo 4• Adicionando Widgets na Janela Principal– Campo de Texto
17
import tkinter
janela = tkinter.Tk()janela.title('Bem vindo ao meu programa!')
rotulo = tkinter.Label(janela, text=‘Digite seu nome:’)
rotulo.pack()
nome = tkinter.Entry(janela)nome.pack()
janela.mainloop()
![Page 18: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/18.jpg)
Exemplo 4
• Adicionando Widgets na Janela Principal
18
![Page 19: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/19.jpg)
Exemplo 4• Adicionando Widgets na Janela Principal– Botão
19
import tkinterjanela = tkinter.Tk()janela.title('Bem vindo ao meu programa!')rotulo = tkinter.Label(janela,
text=‘Digite seu nome:’)rotulo.pack()nome = tkinter.Entry(janela)nome.pack()
botao = tkinter.Button(janela, text=‘Enviar’)botao.pack()
janela.mainloop()
![Page 20: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/20.jpg)
Exemplo 4
• Adicionando Widgets na Janela Principal
20
![Page 21: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/21.jpg)
Exemplo 5 – Adicionando um Evento
![Page 22: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/22.jpg)
Exemplo 5
• Adicionando um Evento– Botão
22
import tkinterjanela = tkinter.Tk()
def clicou():print(‘O usuário clicou no botão!’)
botao = tkinter.Button(janela, text=‘Enviar’, command=clicou)
botao.pack()
janela.mainloop()
![Page 23: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/23.jpg)
Exemplo 5• Adicionando um Evento (Exibindo uma janela de
diálogo)– Botão
23
import tkinterjanela = tkinter.Tk()
def clicou(): tkinter.messagebox.showinfo(‘Mensagem’, ‘Clicou!’)
botao = tkinter.Button(janela, text=‘Enviar’, command=clicou)
botao.pack()
janela.mainloop()
![Page 24: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/24.jpg)
Exemplo 5
• Adicionando um Evento
24
![Page 25: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/25.jpg)
Exemplo 6
25
import tkinterjanela = tkinter.Tk()
rotulo = tkinter.Label(janela, text=‘Nome:’)Rotulo.pack()
nome = tkinter.Entry(janela)nome.pack
def clicou():print(‘Bem vindo, ’ + nome.get())
botao = tkinter.Button(janela, text=‘Enviar’, command=clicou)
botao.pack()
janela.mainloop()
![Page 26: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/26.jpg)
Exercícios
![Page 27: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/27.jpg)
Exercício
• Faça um programa que leia o login e a senha de um usuário a partir de uma GUI. Após clicar no botão “logar”, um evento deverá checar se o login e a senha foram digitados corretamente, exibindo janelas de diálogo para sucesso ou fracasso (considere que o login padrão do sistema é sport e a senha é campeao)
27
![Page 28: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/28.jpg)
Exercício
28
import tkinter
janela = tkinter.Tk()
janela.title('Login')
rotulo_login = tkinter.Label(janela, text='Login:')rotulo_login.pack()login = tkinter.Entry(janela)login.pack()
rotulo_senha = tkinter.Label(janela, text='Senha:')rotulo_senha.pack()senha = tkinter.Entry(janela)senha.pack()
# ...
![Page 29: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/29.jpg)
Exercício
29
# ...
def checaSenha(): if login.get()=='sport' and senha.get()=='campeao': tkinter.messagebox.showinfo('Sucesso',
'Bem vindo ao sistema!') else: tkinter.messagebox.showinfo('Erro',
'Login inválido!')
botao = tkinter.Button(janela, text='Logar', command=checaSenha)
botao.pack()
janela.mainloop()
![Page 30: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/30.jpg)
Explore o assunto!
![Page 31: Algoritmos e Programação - 2016.2 - Aula 21](https://reader033.fdocument.pub/reader033/viewer/2022051521/587325cb1a28ab596c8b4a1f/html5/thumbnails/31.jpg)
Explore o assunto!
• Referências
– USING PYTHON. GUI Programming. [Internet]. [citado em 2015 Nov 10]. Disponível em: https://usingpython.com .
31