Olá galera, estou gostando mesmo deste fórum, tem matado muitas dúvidas minhas, mesmo pela dúvida de outras pessoas, parabéns a todos! Fiz um programinha que simula um teclado digital, mas não consigo colocar as notas musicais o mais próximo do normal possível. Se alguém se interessar em ajudar, aí vai o código: # -*- coding: cp1252 -*-
from Tkinter import *
import winsound
class piano:
def __init__(self, root):
toca.title('Piano')
self.frame01=Canvas(root)
self.frame01.pack()
self.frame=Frame(root)
self.frame.pack()
#self.frame.bind('<D>', self.do)
self.msg=Label(self.frame01, text='Nota tocada: ', bg='dodgerblue', width=29)
self.msg.pack()
self.bot01=Button(self.frame, text='DÓ ', height=5, command=self.do, bg='brown')
self.bot01.pack(side=LEFT)
self.bot02=Button(self.frame, text='RÉ ', height=5, command=self.re, bg='white')
self.bot02.pack(side=LEFT)
self.bot03=Button(self.frame, text='MI ', height=5, command=self.mi, bg='brown')
self.bot03.pack(side=LEFT)
self.bot04=Button(self.frame, text='FA ', height=5, command=self.fa, bg='white')
self.bot04.pack(side=LEFT)
self.bot05=Button(self.frame, text='SOL', height=5, command=self.sol, bg='brown')
self.bot05.pack(side=LEFT)
self.bot06=Button(self.frame, text='LA ', height=5, command=self.la, bg='white')
self.bot06.pack(side=LEFT)
self.bot07=Button(self.frame, text='SI ', height=5, command=self.si, bg='brown')
self.bot07.pack(side=LEFT)
def do(self):
self.msg['text']='Nota tocada: DÓ'
som(500,130)
def re(self):
self.msg['text']='Nota tocada: RÉ'
som(800,130)
def mi(self):
self.msg['text']='Nota tocada: MI'
som(1100,130)
def fa(self):
self.msg['text']='Nota tocada: FA'
som(1400,130)
def sol(self):
self.msg['text']='Nota tocada: SOL'
som(1700,130)
def la(self):
self.msg['text']='Nota tocada: LA'
som(2000,130)
def si(self):
self.msg['text']='Nota tocada: SI'
som(2300,130)
som=winsound.Beep
toca=Tk()
piano(toca)
toca.mainloop()