Escolar Documentos
Profissional Documentos
Cultura Documentos
Python 08
Python 08
orientada a objetos
•A Programação Orientada a Objetos (OOP) é um paradigma de
programação que fornece uma maneira de estruturar
programas para que as propriedades e os comportamentos
sejam agrupados em objetos individuais.
Complexidade código
class Aula:
x=5
ob1 = Exemplo()
print(ob1.x)
class Exemplo:
def sauda(self):
print (“Ola Mundo”)
ob1 = Exemplo()
ob1.sauda()
No exemplo acima o método saúda mostra no ecrã Ola Mundo
ob1.idade = 40
del ob1
class Estudante(Pessoa):
def __init__(self, nome, idade, matricula):
Pessoa.__init__(self, nome, idade)
self.matricula = matricula
class Super:
def hello(self):
print("Olá, sou a superclasse!")
teste = Subsub()
class Sub (Super): teste.hello()
def hello(self):
print("Olá, sou a subclasse!")
Olá, sou a subsubclasse!
class Subsub (Sub):
def hello(self):
print("Olá, sou a subsubclasse!")
ou
Alteração na “label”
(fonte, cor ..)
from tkinter import *
window = Tk()
window.title ("Janela Teste")
window.geometry("350x200")
lbl = Label(window, text="Teste 3", font=30, background="#34A2FE")
lbl.grid()
window.mainloop()
def clicked():
lbl.configure(text="Botão pressionado !!")
lbl.grid(column=0, row=3)
window.mainloop()
def clicked():
lbl.configure(text="Botão pressionado !!")
lbl.grid(column=0, row=3)
Com o texto inserido no widget (entry), o texto não é enviado para o seu
programa. Pode-se no entanto utilizar .get() para recuperar o texto e atribuí-lo
a uma variável ex:
nome = res.get()
Widgets
Contentores Botões
Texto
Scale Entry
Radiobutton
Button
variavel.pack - diz para a janela se necessário se dimensionar ao tamanho da variável no ecrã e mostra a
variável na janela.
variavel.grid - cria uma grelha virtual na janela que pode ser usada para dispor os diferentes widgets
Nota importante : Para que as variáveis funcionem corretamente na entrada de alguns Widgets ou para
rastrear as alterações nos valores inseridos, as variáveis têm que ser criadas. Para isso usa-se:
Para efetuar a leitura de uma entrada num campo de um Widget recorre-se normalmente ao método .get().
Podendo posteriormente atribuir essa leitura a uma outra variável.
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
GUI - tkinter
Criação de painel de menu
canvas_width = 190
canvas_height =150
master = Tk()
w = Canvas(master,
width=canvas_width,
height=canvas_height)
w.pack()
w.create_oval(50,50,100,100)
mainloop()
cabecalho.place(x=140, y=20) #Coloca a variavel "cabecalho" na posição x,y indicada pelo método .place
pergunta = Label(janela, text="Temperatura em F:") # Cria variável "pergunta" com texto indicado na janela criada inicialmente
pergunta.place(x=100, y=100) #Coloca a variável "pergunta" na posição x,y indicada pelo método .place
fahrenheit = Entry(janela) # Cria variavel "fahrenheit" que é um campo de preenchimento de texto usando a função Entry
fahrenheit.place(x=220, y=100) #Coloca o campo criado na posição x,y indicada pelo método .place
bt = Button(janela, text="Calcular", command=calculo) # Cria variável "bt" que é um butão de ação com o texto Calcular
e ao clicar corre a função indicada "calculo"
bt.place(x=240, y=160) #Coloca o butão criado na posição x,y indicada pelo método .place
res = Label(janela, text="Resultado :", background="yellow") # Cria variável "res" com texto indicado na janela com o fundo a amarelo
res.place(x=140, y=220) #Coloca a variavel "res" na posição x,y indicada pelo método .place
def escolha():
seleciona = var.get()
def calculo1():
aux = fahrenheit.get()
calc1 = round((5/9 * (float(aux)-32)),2)
mostra = Label(janela, text=calc1, font="Arial" )
mostra.place(x = 240, y = 320)
def calculo2():
aux2 = celsius.get()
calc2 = round((float(aux2)*9/5+32),2)
mostra = Label(janela, text=calc2, font="Arial" )
mostra.place(x =240, y = 320)
if seleciona == 1:
acao = calculo1
pergunta = Label(janela, text="Temp. em F ? :", font="Arial")
pergunta.place(x=100, y=200)
fahrenheit = Entry(janela)
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
GUI – tkinter (Exemplo2)
Criar um interface gráfico para o programa de interconversão de temperatura ?
fahrenheit.place(x=230, y=205)
bt2 = Button(janela, text="Calcular", font="Arial", command=calculo1)
bt2.place(x=190, y=250)
res1 = Label(janela, text="Resultado :", font="Arial", background="yellow")
res1.place(x=120, y=320)
if seleciona == 2:
acao = calculo2
pergunta2 = Label(janela, text="Temp. em C ? :", font="Arial")
pergunta2.place(x=100, y=200)
celsius = Entry(janela)
celsius.place(x=230, y=205)
bt3 = Button(janela, text="Calcular", font="Arial", command=calculo2)
bt3.place(x=190, y=250)
res2 = Label(janela, text="Resultado :", font="Arial", background="yellow")
res2.place(x=120, y=320)
var = IntVar()
rad1 = Radiobutton(janela,text="Celsius", font="Arial", value=1, variable=var)
rad1.place(x= 100, y=80)
rad2 = Radiobutton(janela,text="Fahrenheit",font="Arial", value=2, variable=var)
rad2.place(x= 240, y=80)
bt = Button(janela, text="Unidade", font="Arial", command=escolha)
bt.place(x=190, y=140)
janela.mainloop()
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
GUI – tkinter (Exemplo3)
Criar um interface gráfico para o programa de interconversão de temperatura ,
usando uma escala para introduzir o valor ?
Código igual ao anterior exemplo só modificando a parte abaixo
if seleciona == 1:
acao = calculo1
pergunta = Label(janela, text="Temp. em F ? :", font="Arial")
pergunta.place(x=100, y=200)
fahrenheit = Scale(janela, from_=0, to=200, length=200, tickinterval=50, orient=HORIZONTAL)
fahrenheit.place(x=260, y=190)
bt2 = Button(janela, text="Calcular", font="Arial", command=calculo1)
bt2.place(x=190, y=250)
res1 = Label(janela, text="Resultado :", font="Arial", background="yellow")
res1.place(x=120, y=320)
if seleciona == 2:
acao = calculo2
pergunta2 = Label(janela, text="Temp. em C ? :", font="Arial")
pergunta2.place(x=100, y=200)
celsius = Scale(janela, from_=0, to=200, length=200, tickinterval=50, orient=HORIZONTAL)
celsius.place(x=260, y=190)
bt3 = Button(janela, text="Calcular", font="Arial", command=calculo2)
bt3.place(x=190, y=250)
res2 = Label(janela, text="Resultado :", font="Arial", background="yellow")
res2.place(x=120, y=320)