Transcrições
1. 01 INTRODUÇÃO: Oi lá. Está tudo
bem, Tampa aqui. E hoje vou
mostrar como
criar um
relógio falante usando Python. A hora é agora 629.
2. 02 Como criar arquivos de áudio: A única coisa que
precisamos fazer é gravar os arquivos de áudio com sua voz que farão a voz do relógio
falante. Agora, vamos
usar um programa chamado audacity para download
gratuito. Você pode pesquisar on-line para
obter uma cópia dele. Mas depois salvaremos
os arquivos como arquivos MP3. Vamos
gravar algumas coisas. A primeira é a hora agora e a próxima está contando de 0 a 59. Em vez de 0,
vamos dizer, oh, e para cada número
parecer mais natural, vamos gravar duas
versões de cada número, uma com
uma
inflexão para cima. Inflexão. Então, por exemplo, a
hora agora é 154615 tem uma inflexão para cima. 1546 como a
inflexão para baixo, 46. Aqui está o que
vai parecer. A hora é agora 00:11:23. Três. Vamos fazer
isso até 59. E depois
salvaremos cada arquivo separadamente. Agora, no Audacity, para salvar cada arquivo separadamente depois gravá-lo em uma faixa, o que você pode fazer é
criar rótulos de faixa. Então, vou selecionar isso. Esta seria a hora
agora, vamos jogar isso. tempo agora é
ótimo agora que jogamos
fora e sabemos o que é. Então, o que eu vou fazer é
ir para o menu Editar e clicar em Rótulos e, em seguida,
adicionar rótulo a essa seleção. O atalho em um Mac é
o Comando B em um Windows, eu suspeito que será o Controle B. Eu só vou
clicar nele por enquanto. Nós podemos dar um nome a isso. Então, vamos chamar isso, a hora agora é que vamos colocar sublinhados em vez de espaços. Ok? E então vamos
fazer isso para cada um. Para os números.
Vou ligar para isso. Então, vou pressionar o Comando B, e vou
chamá-los para cima ou para baixo, colocar um sufixo de cima ou de
baixo no final dele. E para os números
vou colocar 01 só para facilitar a
numeração das coisas. 01. Então começamos com,
começamos com 0, na verdade. Então eu coloquei 00 e coloquei e
depois faço o mesmo aqui. Aqui está 0. Para baixo. Aqui. 01 sublinhado para cima. Comando seja 01 sublinhado para baixo. Eles fazem isso para todos os
arquivos que sobraram. Então, sabemos que isso é dois acima. Você entendeu a ideia. Certo, assim que tivermos isso, ele não precisou salvá-lo. Como forma de salvar, isso
seria ir para File Export. Em seguida, clique em Exportar vários. Aqui você precisa escolher
onde
salvar o arquivo, salve-o aqui. A qualidade da fonte,
192 k bps, é muito boa. Mas se você não quiser que ele ocupe muito espaço,
você pode diminuir. Isso talvez seja 128 e
ainda seja de qualidade boa o suficiente. Em seguida, certifique-se de que está
selecionado para rotular
o que, o que vai acontecer
é salvar cada arquivo como o ponto de tempo mp3. Então, quando você clica em
exportar, o resgate, se você quiser chamar
os arquivos de qualquer coisa, eu tenho esses definidos por padrão, mas você não precisa salvá-lo como o nome da faixa, que será o
nome do arquivo. Então você só pressiona OK. Você faz isso para todos os arquivos. E então ele diz onde
está salvo. E lá vai você. Você tem os arquivos de áudio
prontos para você começar.
3. 03 ambiente de Python: Ok, então nesta etapa, o que vamos fazer é
criar o ambiente Python. A primeira coisa que você precisa
fazer é abrir um terminal
no Mac e no Windows,
será sua linha de comando. Então, aqui eu vou para
a barra de pesquisa e digito o terminal. E clique em Enter para
abrir o terminal. Então, vou expandir isso para
que você possa ver isso claramente. Então eu vou aumentar o tamanho do texto para fazer
isso no Mac,
aumentando o tamanho do
texto, quero dizer, você só precisa
pressionar Command e o sinal de mais. Ok, então
isso é bom e grande. Agora vamos navegar para a
próxima etapa: navegar
até a pasta onde seu
projeto será armazenado. Para fazer isso, você digita cd
e, em seguida, digita o caminho do arquivo. Então, documentos.
E agora eu criei uma pasta chamada Speaking Clock. Pressione Enter. Agora estamos na pasta do relógio
falante. A próxima coisa a
fazer é criar um ambiente Python que
abrigará o aplicativo e todos
os módulos e arquivos, tudo a ver com este aplicativo. Atualmente, estou usando a
distribuição Anaconda do Python. Então, tudo o que você precisa
fazer é digitar conda, criar dois traços,
nome e, em seguida, o nome
do seu ambiente. Vou ligar para o
meu relógio falante só para facilitar. Vamos organizar isso para que
possamos ver toda a tela corretamente. Vamos, ok. Vamos digitar esse relógio falante. Depois de pressionar enter, você me diz se está pronto. OK. Eu direi o porquê para você. Sim. E ele foi criado e agora, para
abrir o
para ativar o novo ambiente, vou apenas digitar
as instruções aqui. Então, tudo o que você precisa digitar é conda, ativar o relógio
falante. Vamos fazer isso. Aí está. Criamos nosso ambiente
Python. Em seguida, vamos criar o aplicativo usando o Jupyter Notebooks.
4. 04 Como criar o Python no caderno do Juyter: Agora que temos nosso ambiente
Python configurado, precisamos abrir
um notebook Jupiter. Se você não o
instalou antes, você pode simplesmente acertar. Se eu clicar aqui,
pip, instale Júpiter. Então,
tudo bem, diz que o requisito já satisfeito, mas isso já
estava incluído. Se você não tivesse,
você poderia fazer isso. Caso contrário, você pode seguir
para a próxima etapa. Eu só vou digitar claro
aqui para que tenhamos uma tela
clara para trabalhar fora. E então eu vou
abrir o Jupyter Notebooks, literalmente digitando
Jupiter notebook. Fantástico.
E abriu tudo. Ok, lembra dos
arquivos que criamos anteriormente? Aqui
estão eles agora. Tudo bem, então você notará agora que os arquivos foram alterados. Isso porque há
alguns dias eu
gravei todos os arquivos
necessários para a voz, para o relógio falante. E então eu substituí os
arquivos MP3 que criei
hoje por esses arquivos. Portanto, o primeiro passo é
criar um novo arquivo de notebook. Um arquivo de três cadernos Python. Vamos dar um nome a ele
e adivinha? Vai falar sobre relógio
sublinhado, como
fizemos para todas as outras coisas. Vamos fazer isso. Vamos
dar um nome para falar. OK. Então, vamos fazer algumas coisas. A primeira coisa
que vamos fazer é
configurar a página. Então, primeiro eu vou
colocá-lo aqui. Esse bloco será para importar os módulos
que vamos usar. Ok, este próximo quarteirão de qualquer maneira
seria por enquanto. Então, obtendo,
obtendo o tempo e o e obtendo os arquivos de áudio. O terceiro seria reproduzir
os arquivos de áudio. Na verdade, em vez de Ok,
sim, isso é bom. Na verdade, terá
cinco em vez de quatro. A próxima parte que vamos
fazer é colocar todo o
código em uma função. E então vamos
criar a interface do usuário. Está bem? Então, esses são amplamente os passos que
vamos seguir. Então, vamos começar com a
importação de módulos. Os módulos que
vamos usar, nosso VLC. Eu mencionei aqui datetime, VLC time e py Simple GUI. Eu tenho isso
escrito em algum lugar, então vou colá-los apenas para economizar algum tempo. Portanto, temos
data e hora de importação como d t, e isso será usado para
obter a hora atual. Vlc para reproduzir os arquivos de áudio, hora de pausar a
execução do Python por um segundo ou mais, para que o tempo, como
está sendo dito, pareça um pouco antinatural. Você entende o que quero dizer mais tarde. E então temos
py Simple GUI, que é para a interface do usuário, com a
qual o usuário
poderá interagir. Basta pressionar um botão, talvez pressionar OK para ouvir a hora atual. Tudo bem, então, neste próximo passo, o que vamos
fazer é obter
a hora, a hora atual, assim
como vou
colocar essa hora atual. Vamos colocar isso como
um comentário e depois determinar quais arquivos reproduzir. Ok, essas são as duas
coisas que vamos
realizar neste bloco. Tudo bem, então, como
obtemos a hora atual? Vamos usar
o módulo datetime. Então, vamos fazer isso. Então, para obter o tempo agora vamos criar uma
variável chamada tempo. Agora, vou
colar isso. E então vamos usar o módulo datetime para
obter a hora atual. OK, então tenho tempo agora
alguma nova variável, d t referindo-se a datetime dot
datetime dot now that time. E depois testar se isso realmente está nos dando
o que estamos esperando. Vamos colocar uma declaração
impressa lá e depois
executá-la. Então, vamos executar o primeiro bit
para importar os módulos. E depois a segunda
parte. Lá vamos nós. Diz que a hora
agora é para 2308. E todos os segundos
depois disso também, vamos nos livrar deles daqui a pouco. Ok, então isso é bom. Então, sabemos que está funcionando,
o que é ótimo. A próxima parte é que
precisamos ser capazes de retirar a parte
da hora do tempo, que é 04, e a
parte dos minutos do tempo, 23. Não
precisamos necessariamente dos segundos. É por isso que podemos prescindir. Então, como fazemos isso? Bem, você pode extrair o tempo. Você pode obter
as horas em minutos como números inteiros em novas variáveis.
Vou colar isso. Então, como fazemos isso? Para obter a hora, a hora da hora? Você literalmente pega a variável que
temos para o tempo, que é o tempo agora, e coloca a hora ao lado dela e depois
faz o mesmo por um minuto. Então, criamos uma variável
chamada hora para obter a hora e o
minuto para colocá-los no minuto
para colocá-los nela. Bem direto. E agora nós temos, nós temos isso. Se quiséssemos testar isso, poderíamos apenas fazer uma
rápida impressão de declarações. Então imprima Nossa ligação a
esta hora. Está bem? E então faremos o mesmo para consistente e
colocá-lo no singular. Eu imprimo isso, digamos que posso
ver o tempo integral aqui. E podemos ver que as horas
por um minuto são
25. Isso é muito bom. Ok, agora que
resolvemos isso,
vamos fazer alguma coisa. Vamos mover essa parte para um novo bloco só porque eu
acho que é muito bom
separá-los e
sabemos que cada bloco representa um, apenas
faz uma coisa. Então, vamos fazer isso. Para fazer isso,
estou clicando
no gráfico abaixo e
pressionando a dor apenas uma vez, e isso
cria um novo bloco. E então eu vou cortar isso e colar lá dentro. Consistência. Vou adicionar os dois
pontos nos próximos dois minutos. E para executar um bloco, ou você tem que fazer é
pressionar as teclas Shift e Enter ou pressionar Executar aqui. Ok, então isso é atualizado. Isso parece bom. Ok,
vamos descer aqui. Então, precisamos determinar
quais arquivos reproduzir. Para isso. Vamos
usar uma combinação de VLC e alguma lógica. Qual é a lógica aqui? Lembre-se, se eu levar
você de volta aos nossos arquivos, criamos alguns arquivos.
Para cada número. Tivemos um alto e um baixo. Quando você diz o número para o tipo digamos que você queira dizer que
o tempo é quatro terços. Você diz que os quatro com uma
espécie de inflexão para cima e o 38 com uma
inflexão para baixo para o T8. É por isso que gravei
duas versões das quatro. Então, o que precisamos fazer é
basicamente dizer ao computador que, quando o número a que estamos nos
referindo é a hora, deve ser a
versão ativa do arquivo. Quando o número a que estamos nos
referindo é o minuto , ele deve ser a
versão inativa do arquivo. Então, tudo o que acabei de dizer, acabei de colocar como
instruções aqui. Então, para as horas, ele deve escolher o
arquivo com o sufixo up. E por alguns minutos,
ela deve escolher os arquivos com o sufixo down. Tudo bem, então aqui está
a primeira tentativa. Então, sabemos que todos os
arquivos terminam com dot mp3. E para os nomes dos arquivos de hora, vamos escolher
a sequência da hora, que está aqui. Nós temos quatro. Portanto
, é um número inteiro no momento em transformar
isso em uma string
colocando as palavras STR lá. Também fizemos o mesmo
por um minuto também. Então é assim que
deveria ser. Então, para testar isso, vamos colocar algumas declarações
impressas. Ok, então estamos apenas testando, testando para ver quais seriam os
arquivos, nomes de arquivos e ter
certeza de que são os
apropriados. Ok, então aqui
temos quatro até MP3 e 42 sublinhados abaixo desse mp3. Isso funciona, mas isso pode não funcionar porque,
se você se lembrar, estrutura de
arquivos,
tínhamos 04, não quatro. Portanto, precisamos mudar a
maneira como criamos os nomes
dos arquivos para incluir um 0 na frente do número para qualquer número que seja
menor que dez, basicamente. Então, vamos fazer isso. Vamos digitar aqui
nosso nome de arquivo é igual. Vamos deixar isso em branco por enquanto. Agora, vou usar
uma declaração if. Se a potência for menor que dez, então o que queremos fazer? Queremos o nome do arquivo. Nosso nome de arquivo deve ser 0. E a corda que
tínhamos acima logo ali em cima. Basicamente, estamos dizendo para
adicionar isso a isso. Se não for esse o caso, basta fazer o que tínhamos antes. Tudo bem, vamos
testar isso rapidamente. Então, podemos dizer, então o que eu vou fazer
é comentar
isso e depois testar isso. Ok, então está correto. É exatamente como
queremos que seja. Já que acertamos
para o, nosso nome de arquivo. Vamos repetir o mesmo
para o nome do arquivo minuto. Então, vamos fazer isso. Acho que a
maneira mais fácil de fazer isso seria simplesmente
copiar e colar isso. E depois é só mudar o nome. Então mude isso para Min. Mín. Ok, quase lá. Vamos ver se
temos tudo aqui. Ok, bem, vamos testar. Então, vamos executar isso. Ok, então temos a
hora aqui às 4442, para que nosso arquivo seja 0 para cima. O arquivo minuto 42
para cima. Nós nos levantamos. E nós não queríamos isso. Queríamos que diminuísse a
inflexão por alguns minutos. Então, vamos mudar isso. Se executarmos isso agora, teremos uma inflexão para cima para a hora e uma
deflexão para baixo para o minuto. Eu acho que
isso é justo. Isso é justo. A última coisa que precisamos
fazer aqui é limpar um pouco esse código
para não
usarmos mais esse pedaço de código. Então mova isso. Basta manter nosso código
e limpo e arrumado. Em seguida, passaremos para
a parte divertida de reproduzir os arquivos de áudio e ver nosso aplicativo de relógio realmente
se encaixar. Vai ser empolgante. O aplicativo está quase concluído. A última força, quase
o último lugar, é, a última etapa
é reproduzir os arquivos de áudio. Então, vamos fazer isso. Vai haver
três partes nisso. Em primeiro lugar,
haverá uma parte disso dizendo que a hora agora é
a próxima parte
seria dizer a nossa
parte do tempo. E então a
parte final seria dizer
a parte minuciosa do tempo. O módulo VLC torna isso muito fácil de fazer.
É por isso que eu escolhi. Então, o que pretendemos fazer agora é trazer o arquivo que
diz que a hora agora
é deixar isso funcionar. Se olharmos para nossos arquivos, esse arquivo é chamado de
time now one dot mp3. Então, vamos colocar
isso com o VLC. Tudo o que você precisa fazer é
criar uma variável. Então, vamos chamar isso de p, que é o arquivo que
precisa ser reproduzido. Literalmente, basta contar. Reprodutor de mídia Vlc
e colchetes abertos. Coloque o nome do arquivo
lá, feche os colchetes. E então tudo o que temos
que fazer é pressionar P dot play. Que tipo de jogo de
aquecimento em vez disso. Então, vamos testar isso. A hora agora é fantástica. Ok, então está funcionando. Isso reproduziu o arquivo
como esperávamos. Então, agora vamos adicionar as outras partes
até que seja uma brincadeira. Os arquivos para
a parte externa e a
parte minuto do tempo. Então eu disse a ele para reproduzir o nosso arquivo
também. Vamos experimentar isso. Agora. Está tudo bem. Então você deve ter notado
que parecia que ele tocava o nosso nome de arquivo e a
hora agora ao mesmo tempo, que não é o que procuramos. Então, o que eu vou fazer, Use o módulo time para dizer ao
Python que eu só quero você toque a próxima tupla
para executar o próximo código. Depois de alguns segundos. Para isso, vamos usar o
tempo que dormir. Está bem? Agora, vamos tentar jogar. O tempo agora é quatro. Ótimo. Então isso funcionou conforme o esperado. Isso atrasou para que
Dan dissesse a primeira parte primeiro e depois dissesse o
nosso nome de arquivo. Agora, pode haver uma maneira
melhor de fazer isso usando o reprodutor VLC
MediaPlayer. Ainda não aprendi, mas pensei que sim, essa não é outra maneira de
contornar. Então, agora vamos adicionar a
porção por um minuto. Vamos adicionar a parte
minuciosa do tempo e também adicionar o tempo de sono que dorme
por um minuto também. Então, vou adicionar um segundo
talvez de tempo para dormir. Os números entre colchetes
representam segundos. A propósito, estou
dormindo, vou adicionar um. Então espere um segundo entre dizer a hora e
depois dizer o minuto. Então, vamos fazer isso
e agora vamos colar o código por um minuto. Ok, então isso está parecendo
bom. Vamos testar isso. A hora agora é para A hora agora é para 42. OK. Isso parece bastante
natural. Isso foi bom. Isso foi bom. Há poucas coisas para as quais
queremos corrigir. Isso parece funcionar bem. Mas posso prever um problema em
que, digamos, a hora, o minuto talvez seja menor
no momento é para um. Por exemplo, nós só
programamos isso diz 41. Então, literalmente, diria que
a hora agora é para um, o que não é muito natural. Então, o que eu fiz
na gravação é que eu gravei apenas o 00004. E vamos
usar um ou dois
desses para adicionar a isso, de
modo que ele
diga que o tempo agora é quatro
por um. Então, vamos fazer isso. Vamos ouvir alguns deles. Ok, então eu tenho algumas
versões de o ou 0. O duplo o seria
usado por enquanto. Então, quando passa da meia-noite, quando é 0001, por exemplo. E os outros O's poderiam
ser usados apenas em termos pouco antes do minuto para qualquer número
menor que dez. Então, vamos implementar isso. Vamos usar declarações if para bebês
para determinar
o que o código faz. Então, vamos começar com a hora. Então, vamos mudar a parte
externa do tempo. Então, em vez de apenas reproduzir
automaticamente o nome do arquivo 123
up para a hora, vamos colocar uma instrução
if para que ela toque O se for meia-noite, se for apenas me pausar à
noite ou meia-noite, e se não for, então ele só toca normalmente. Então, vamos fazer isso. Ok, então se a
hora for igual a 0, então toque a
versão superior dela. Sim. Se não for jogar apenas a queda normal
, como esperamos. E então deixe
haver 1 segundo de pausa antes de jogarmos o
minuto, o que é bom. Agora, para a parte minuto, o que vamos fazer é novamente, usando a declaração if, vamos
dizer basicamente dois. Para qualquer número acima de dez,
basta jogar normalmente. Se o número for menor que dez, toque o O na
frente dele primeiro. Está bem? Então, o que fizemos aqui
é basicamente dito, se o minuto for
maior que dez, basta reproduzir o nome do arquivo
que estamos esperando. Se o minuto for 0. Então, digamos que seja automático. 6h, por exemplo. Diria apenas que o tempo
agora é seis e não diz 00, porque não
queremos que ele diga isso em um discurso normal.
Nós apenas dizemos seis. Se, no entanto, se não preencher
nenhuma dessas condições, ou seja, é menor que,
menos de dez. Nós esperaríamos que ele dissesse, oh, primeiro e depois dizer, Oh, dê um pouco de pausa. Então, sem 0,7 segundos e
depois diga o número. Então, se fosse 407 da manhã, diria que a
hora agora é 407. Vamos jogar de novo só
para verificar se tudo funciona. A hora é agora 42.
Ok, Fantástico. Isso funciona bem. Agora
temos todo esse código e parece
estar funcionando muito bem. Para colocar o arquivo, esse todo o código
basicamente em uma função, precisamos realmente declarar
qual é a função. Então, ao usar Python
para declarar uma função, você digita as letras D, E, F. Então vamos
chamar nossa função, vamos chamá-la de dizer o tempo. E coloque dois suportes lá. E aqui,
vamos copiar e todo o
código que colocamos acima. Então, vamos fazer isso. Vou me livrar da maioria
dos comentários. Eu faço isso. Eu preciso recuá-lo
usando ao usar o Python. Então, vou pensar
se devo
deixar os comentários. Vamos continuar copiando. Na verdade, vou copiar tudo
isso e depois remover os comentários do Ribose. Saiba
disso, então vou remover esses comentários e recuá-los também. Então, tudo se enquadra
na função. Backup. Entendi isso. Vou
reproduzir os arquivos de áudio, posso colá-los aqui e depois colocar o recuo
correto. Teste a cobra. Acho que
podemos ter terminado. Assim que
tivermos a função lá, agora precisamos chamar a função para
poder vê-la funcionando. Então, vou digitar aqui o nome da função,
estamos chamando. E depois que eu pressionar Executar, ele deve tocar conforme o esperado. A hora é agora 58. Ok, isso parece muito bom. Tudo bem, então, podemos
remover algumas coisas. Nós realmente não precisamos que
tudo isso apareça. Acho que vou deixar
o tempo lá. Ou vou mudar
isso um pouco. Então eu vou deixar dizer 558 e apenas tornar isso
um pouco apertado aqui. Portanto, se removermos todas
as impressões que fizemos anteriormente, podem ser removidas. Vou copiar isso
porque vou usá-lo mais abaixo. Vou cortá-lo e
usá-lo mais abaixo. Mas então todas as outras
impressões podem ser removidas. Todas as outras
declarações impressas, devo dizer. Isso está logo acima disso. E então, em vez de
dizer o tempo inteiro, vou colocar a hora dois pontos ou não. Sim, vou colocar dois pontos. E então no minuto em que o
Min, como o chamamos. Vamos ver se isso funciona. Vou comentar
que a função por enquanto,
chamando a função por enquanto. Então eu posso ver se isso funciona. Então a hora agora é para
42 é o que diz aqui. Tudo bem. Isso
será ajustado em breve. Uma vez que eu coloquei, uma vez que
eu faço isso funcionar. E isso realmente
precisa estar dentro da função para que ela
seja impressa corretamente. Tudo bem, vamos ver isso. O momento da verdade. O tempo agora é seis. Ok, isso é ótimo. Fez exatamente como
queríamos lembrar o que planejamos anteriormente. Sussurre para não dizer o que é
para não dizer seis. Oh, eu deveria dizer apenas seis. No entanto, no momento está dizendo
que está digitando aqui 60
em vez de 600, vez de corrigir isso
agora , não é o ponto
principal disso, então vou
reverter isso de volta para a
forma anterior, nós tínhamos isso também. Percebi que houve um erro e isso seria
bom para corrigir. Então aqui está escrito Arquivo mínimo
em vez de nome de arquivo mínimo. Isso certamente
nos dará um erro em termos de reprodução de um arquivo ou reprodução para quando
os minutos ou menos de 0,
menos de dez em vez disso. Então, vou
atualizar isso para o nome do arquivo, que é o que ele deveria dizer. Acho que todo o resto
deve funcionar conforme o esperado. Agora vamos tentar isso de novo. O tempo agora é seis, 20. Ok, Fantástico. Também vou
mover essa parte
da impressão para cima para
que possamos vê-la um pouco antes de ouvirmos
a hora sendo chamada. Então, vamos tentar de novo agora. Vamos apenas executar isso de novo. A hora é agora 621. Ok, isso funciona. OK.
Preciso removê-lo daqui. Mais uma vez. A hora é agora 621. OK. Isso parece certo.
5. 05 Crie a interface e o teste de usuário: Então, nesta etapa final, o que precisamos fazer é criar a interface
do usuário com a qual o usuário
interagiria aqui, aqui, o tempo
falado para eles. Há poucas coisas
que precisamos fazer aqui. Vamos usar o módulo,
o último módulo que
mencionei no topo, que era o módulo de GUI
simples py. Demos a ele o pseudônimo SG. A primeira coisa que precisamos fazer
é criar o layout. É um layout muito simples e
muito simples. É literalmente apenas uma
caixa de diálogo com as opções, ok, e cancelar ou
ok, e fechar. Em seguida, queremos
criar a janela, que vai,
como está esse layout? Janela é igual a janela de pontos SG, relógio de fala de colchete
aberto. Esse será apenas o título do título da caixa de diálogo. E então contamos a ele layout. O layout é o que estará dentro da caixa de diálogo. Finalmente, precisamos criar
um loop de eventos para dizer a ele o que fazer com os itens
na caixa de diálogo. E, em seguida, acabe
perto de terminar o programa. Ok? Então aqui vamos nós. Diz enquanto verdadeiro, while loop, ou duas coisas. Evento e valores, leitura de pontos
da janela. Então, se alguém apertar o botão OK,
o que deve acontecer? Então, se evento for igual a ok, então diga o tempo, eu
chamo a função acima. Se o evento for fechado ou a pessoa clicar na caixa de diálogo Fechar
no botão Fechar, ele interromperá o programa. Então, vamos experimentar isso. OK. Então isso se abriu. A hora é agora 629. OK. E é isso aí.
Aí está. Esse é o fim do nosso programa.