Prévia do material em texto
4 anhanguera educacional ANHANGUERA CURITIBA III SUPERIOR DE TECNOLOGIA EM INTELIGÊNCIA DE MERCADO E ANÁLISE DE DADOS TIAGO FABIANO DIAS - 3779184201 PortfÓlio – RELATÓRIO DE AULA PRÁTICA: PROGRAMAÇÃO ORIENTADA A OBJETOS PARA DADOS Curitiba 2024 TIAGO FABIANO DIAS - 3779184201 PortfÓlio – RELATÓRIO DE AULA PRÁTICA PROGRAMAÇÃO ORIENTADA A OBJETOS PARA DADOS Relatório de aula prática apresentado como requisito parcial na disciplina de Algoritmos e Programação Estruturada para a obtenção de pontos para a média semestral. Orientador: Mariana Barcellos Pinheiro Curitiba 2024 SUMÁRIO 1 INTRODUÇÃO 3 2 DESENVOLVIMENTO 4 2.1 MÉTODO 6 2.2 RESULTADOS 9 3 CONCLUSÃO 12 4 REFERÊNCIAS 13 INTRODUÇÃO Este documento tem o propósito de ajudar o aluno a compreender os conceitos técnicos da linguagem de programação Python, aplicando a estrutura da linguagem para construção de uma aplicação simples. A atividade consistirá em instalar o Python em versão 3.11 ou superior e desenvolver uma aplicação utilizando a biblioteca tkinter, que permitirá a criação de uma interface gráfica que fará a detecção das teclas pressionadas pelo usuário. Também será utilizada a Interface de Desenvolvimento Integrada nativa do Python, conhecido como IDLE. DESENVOLVIMENTO Para iniciar a atividade, foi necessária a instalação do Python, que pode ser encontrado na URL: https://www.python.org/downloads/. Após acessar a página, o usuário deve selecionar o sistema operacional e fazer o download do arquivo de instalação, para em seguida executá-lo e seguir a instalação padrão. Figura 1: Página inicial para download e instalação do Python Após a instalação, o usuário deve buscar por “idle” no menu iniciar. A atividade será realizada quando acessamos File >> New File, para termos o ambiente de programação que permite a inserção do código. Figura 2: Página inicial do software após instalação Figura 3: A janela “untitled” é onde iremos construir o código MÉTODO Conforme esboço apresentado nas instruções, o primeiro passo após criamos um novo arquivo é fazer a importação da biblioteca tkinter. Essa biblioteca é utilizada para criação de interfaces gráficas para usuários (GUI – Graphic User Interface), sendo que utiliza a linguagem Tcl e possui diversos métodos e widgets que facilitam essa criação. Figura 4: importação da biblioteca tkinter O próximo passo consistiu em iniciar a configuração de uma janela principal, que será a interface que o usuário verá. Criei uma variável chamada “janela” e atribuímos a biblioteca tkinter, com o método Tk. Em seguida, foram adicionados métodos para configuração da janela criada: · Método title: Adiciona um título à janela · Método geometry: utilizado para atribuir o tamanho da janela em pixels Figura 5: Configuração de uma janela principal Após instanciar a variável “janela”, vamos adicionar algo à janela para que o usuário entenda o que deve fazer. Vamos adicionar uma “etiqueta” com um texto informando o que deve ser efetuado. Isso será adicionado à uma variável chamada “label” · Método Label: usado para criar o label, informando onde o label será localizado, o texto que aparece para o usuário e a fonte usada no texto · Método pack: utilizado para organizar o posicionamento do texto dentro do label que aparecerá na janela Figura 6: Instruções para o usuário através de uma etiqueta (LABEL) Em seguida, criei uma nova função, que irá ser chamada toda vez que uma tecla for pressionada no teclado. A função foi nomeada como tecla_pressionada(), irá receber um evento que será adicionado posteriormente. Dentro da função, decidi que o Label que é apresentado para o usuário irá mudar toda vez que uma nova tecla for pressionada, mostrando qual tecla foi pressionada em vermelho. Também iremos mostrar a tecla pressionada no terminal IDLE, conforme solicitado no esboço. Figura 7: Função tecla_pressionada Agora que a função está criada, precisamos adicionar um método que chama essa função sempre que uma tecla for pressionada. O método que usei foi o bind, que cria um vínculo utilizando um evento chamado . Esse evento detecta toda vez que um tecla é pressionada, em seguida “chama” a função tecla_pressionada que criamos. Figura 8: método bind para detectar teclas pressionadas e chamar a função tecla_pressionada Por fim, acionamos o método que exibirá a nossa janela em um loop, de forma que a aplicação continue mesmo após detectar a primera tecla pressionada. Figura 9: método mainloop() RESULTADOS Após salvar o nosso código em formato .py, podemos seguir com a execução do código para ver se tudo está funcionando (durante a criação do código, o mesmo foi salvo diversas vezes e testado em cada passo). Para rodar o código, devemos ir em Run >> Run Module ou pressionar “F5”: Figura 10: Executar o código Após executar, a primeira coisa que percebemos é que a janela que criamos é aberta corretamente, mostrando o label “Pressione qualquer tecla”, conforme mostrado abaixo: Figura 11: Primeira tela após executar o código À medida que pressionamos as teclas, as alterações que incluímos na função tecla_pressionada funcionam conforme o esperado, mudando o label para vermelho e mostrando a tecla apertada. Cada tecla apertada é mostrada no terminal: Figura 12: Código funcional conforme solicitado CONCLUSÃO Através do projeto, foi possível compreender os conceitos conforme descrito no esboço do portfólio. A biblioteca tkinter pode ser de grande utilidade para o programador e para o funcionamento correto com os usuários. Mesmo sendo uma interface bastante simples, foi possível compreender o potencial da biblioteca e da linguagem de programação Python. REFERÊNCIAS 1. MATERIAL DIDÁTICO do curso Superior de Tecnologia em Inteligência de Mercado e Análise de Dados - Anhanguera Educacional 2. YOUTUBE. "Unopar Anhanguera – Portfólio de Programação Orientada à Objetos para Dados". Autor – Tiago Fabiano Dias Disponível no link: https://www.youtube.com/watch?v=cNpgvLfRW0U. 3. YOUTUBE. "Olá Mundo com a biblioteca tkinter - Interface Gráfica em Python". Autor – Bóson Treinamentos Disponível no link: https://www.youtube.com/watch?v=KZLkaKPWAx0 4. Stack Overflow - Tkinter KeyPress and KeyRelease events Disponível no link: https://stackoverflow.com/questions/27215326/tkinter-keypress-and-keyrelease-events image1.png image2.png image3.png image4.png image5.png image6.png image7.png image8.png image9.png image10.png image11.png image12.png