Você está aqui: Python ::: wxPython ::: Passos Iniciais |
Python wxPython - Como instalar e criar aplicações GUI em Python usando a biblioteca wxPythonQuantidade de visualizações: 2553 vezes |
Quando estamos programando em Python, muitas vezes surge a necessidade de fornecermos aos usuários de nossos códigos uma apresentação visual mais agradável da aplicação. Para isso podemos usar as interfaces gráficas do usuário, ou Graphical User Interface (GUI). Há vários frameworks que fornecem interface gráfica para a linguagem Python, entre elas Tkinter, wxPython e PyQt. Essas três funcionam muito bem no Windows, macOS e Linux, e o PyQt ainda vem com a possibilidade adicional de funcionar em aplicações mobile. Antes de progredirmos, saiba que esta dica é focada no wxPython, que tenta, sempre que possível, ser uma versão, atualizada, para a linguagem Python do famoso framework C++ wxWidgets (temos dicas de wxWidgets aqui no site também). Sendo assim, uma GUI, ou Graphical User Interface é uma forma de apresentação de interfaces visuais contendo botões, janelas, caixas de texto e vários outros controles com os quais o usuário pode interagir com o propósito de extrair o máximo das funcionalides de nossas aplicações. Um bom exemplo de uma aplicação GUI é o navegador que você está usando agora mesmo para ler esta dica. Minha instalação do Python já possui a biblioteca wxPython? A melhor forma de descobrir se a wxPython já está disponível para os seus códigos Python é rodando o seguinte trecho de código: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- import wx class JanelaPrincipal(wx.Frame): def __init__(self): super().__init__(parent=None, title="Cadastro de Alunos") self.Show() if __name__ == '__main__': app = wx.App() janelaPrincipal = JanelaPrincipal() app.MainLoop() Se você já tiver o wxPython disponível na sua instalação do Python, o código acima vai gerar o seguinte resultado: ![]() No entanto, se o wxPython não for encontrado, teremos a seguinte mensagem de erro: Traceback (most recent call last): File "c:\estudos_python\estudos.py", line 1, in <module> import wx ModuleNotFoundError: No module named 'wxpython' ModuleNotFoundError: No module named 'wx' De fato, não tenho o wxPython instalado ainda. O que faço? Abra uma janela de terminal e dispare o comando abaixo: C:\Users\Osmar>pip install wxpython Depois de alguns segundos você verá uma mensagem indicando que a biblioteca foi instalada com sucesso. Agora é só estudar bastante e desenvolver GUIs bem úteis usando Python + wxPython. |
![]() |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como testar condições em Python usando a estrutura condicional if...elif...else (se, senão se, senão)Quantidade de visualizações: 9874 vezes |
A instrução condicional if (se) é usada para verificar uma condição na linguagem Python. Se esta condição for verdadeira, um bloco de códigos é executado. Opcionalmente um bloco de códigos pode também ser executado caso a condição seja falsa. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): numero = 10 valor = int(input("Informe um inteiro: ")) if valor == numero: print("Parabéns, você acertou de primeira") print("Já tentou a Megasena?") elif valor < numero: print("Tente um número maior") else: print("Tente um número menor") if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Informe um inteiro: 3 Tente um número maior Observe que as instruções a serem executadas em um bloco são agrupadas por indentação. |
Python ::: Dicas & Truques ::: Data e Hora |
Como formatar a data e hora atual em Python usando a função strftime() da classe datetimeQuantidade de visualizações: 10097 vezes |
Nesta dica eu vou mostrar como é possível usar o método strftime() da classe datetime para formatar e mostrar a data e hora atual no Python. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- from datetime import datetime import locale def main(): # Configurações do usuário locale.setlocale(locale.LC_ALL, '') # Obtém um datetime da data e hora atual hoje = datetime.today() # Exibe a data atual formatada data = hoje.strftime("Hoje é %A, %d de %B de %Y") print(data) if __name__== "__main__": main() Ao executar este código nós teremos o seguinte resultado: Hoje é segunda-feira, 08 de março de 2019 |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como pesquisar uma substring em uma string usando a função find() da linguagem PythonQuantidade de visualizações: 12344 vezes |
Nesta dica mostrarei como podemos usar o método find() do objeto string da linguagem Python para pesquisar uma substring em uma string. A assinatura dessa função é: find(substring[, start[, end]]) onde substring é a substring a ser pesquisada e start e end são argumentos opcionais que definem os índices de início e fim da pesquisa. Se a substring não for encontrada, o valor -1 é retornado. Se for encontrada, o índice do primeiro caractere é retornado. Veja um exemplo completo do seu uso: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- def main(): frase = "Gosto de Python e JavaScript" indice = frase.find("Python") if indice != -1: print("A palavra foi encontrada no índice", indice) else: print("A palavra não foi encontrada") if __name__== "__main__": main() Ao executarmos este código Python nós teremos o seguinte resultado: A palavra foi encontrada no índice 9. |
Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Matemática e Estatística |
Python para estatística - Como calcular a mediana de um conjunto de valores usando o método median() da biblioteca NumPy da linguagem PythonQuantidade de visualizações: 16485 vezes |
A mediana (Md) representa o valor central de um conjunto de dados. Para encontrá-la, é necessário colocar os valores em ordem crescente ou decrescente. Quando o número elementos de um conjunto é par, a mediana é encontrada pela média dos dois valores centrais. Assim, esses valores são somados e divididos por dois. Veja a seguinte figura: ![]() A biblioteca NumPy do Python nos oferece o método median(), que recebe um vetor de valores númericos (inteiro ou decimais) e retorna a mediana deles. Veja um exemplo com os primeiros valores da figura (um conjnto ímpar): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a biblioteca NumPy import numpy def main(): # valores a serem observados valores = [2, 2, 3, 7, 8, 9, 9] # vamos obter a mediana mediana = numpy.median(valores) # vamos mostrar o resultado print("A mediana dos valores é:", mediana) if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: A mediana dos valores é: 7.0 Veja agora o exemplo usando o segundo grupo de valores da imagem (conjunto par): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importamos a biblioteca NumPy import numpy def main(): # valores a serem observados valores = [1, 4, 4, 5, 6, 7, 7, 7] # vamos obter a mediana mediana = numpy.median(valores) # vamos mostrar o resultado print("A mediana dos valores é:", mediana) if __name__== "__main__": main() O resultado da execução desse código será: A mediana dos valores é: 5.5 É importante observar que o método median() da NumPy não exige que os valores estejam ordenados. A própria função se encarrega dessa tarefa. |
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Python - Uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e alturaQuantidade de visualizações: 9472 vezes |
Pergunta/Tarefa: Crie uma classe para representar uma pessoa, com os atributos privados de nome, data de nascimento e altura. Crie os métodos públicos necessários para sets e gets e também um método para imprimir todos dados de uma pessoa. Crie um método para calcular a idade da pessoa. A data de nascimento pode ser informada como uma String (no formato 05/10/1982, por exemplo) e, no cálculo da idade, considere apenas o ano da data de nascimento informada. Sua saída deverá ser parecida com: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Python console: Código para a classe Pessoa (pessoa.py): ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- from datetime import datetime class Pessoa: # construtor da classe Pessoa def __init__(self, nome, data_nascimento, altura): self._nome = nome self._data_nascimento = data_nascimento self._altura = altura # método que imprime todos os dados da pessoa def imprimir_dados(self): print("Nome:", self._nome, "\nData de Nascimento:" , self._data_nascimento, "\nAltura:", self._altura) # método que calcula a idade da pessoa def calcular_idade(self): # vamos obter o ano da data de hoje ano_data_atual = datetime.today().year # agora vamos obter o ano de nascimento da pessoa partes_data_nascimento = self._data_nascimento.split("/") ano_nascimento = partes_data_nascimento[2] # agora mostramos a idade da pessoa anos = ano_data_atual - int(ano_nascimento) print("A pessoa tem", anos, "anos.") # método que define o nome da pessoa def set_nome(self, nome): self._nome = nome # método que obtém o nome da pessoa def get_nome(self): return self._nome # método que define a data de nascimento da pessoa def set_data_nascimento(self, data_nascimento): self._data_nascimento = data_nascimento # método que obtém a data de nascimento da pessoa def get_data_nascimento(self): return self._data_nascimento # método que define a altura da pessoa def set_altura(self, altura): self._data_altura = altura # método que obtém a altura da pessoa def get_altura(self): return self._altura Código para o arquivo principal.py: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # importa a classe Pessoa from pessoa import Pessoa def main(): # cria um novo objeto da classe Pessoa pessoa = Pessoa("Amanda Rodrigues", "12/03/1972", 1.65) # exibe os dados da pessoa pessoa.imprimir_dados() # mostra a idade da pessoa pessoa.calcular_idade() if __name__== "__main__": main() |
Python ::: Tkinter GUI Toolkit ::: Entry |
Como setar o foco em uma caixa de texto Entry do Tkinter usando a função focus_set()Quantidade de visualizações: 1131 vezes |
Em várias situações durante o processo de programação em Tkinter nós precisamos, via programação, trocar o foco de uma caixa de texto para outra. Isso pode ser feito com o auxílio da função focus_set(). No código abaixo nós temos uma janela Tkinter com duas caixas de texto Entry e um botão Button. Experimente digitar conteúdo nas duas caixas de texto e depois clicar no botão. Você verá que o foco é colocado novamente na primeira caixa de texto. Veja o código Python completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos importar o módulo Tkinter from tkinter import * from tkinter.ttk import * # variáveis globais caixa_texto_1 = None # método principal def main(): # acessamos a variável global global caixa_texto_1 # vamos criar o frame principal da aplicação Tkinter janela = Tk() # agora definimos o tamanho da janela janela.geometry("600x400") # criamos uma caixa de texto Entry de linha única caixa_texto_1 = Entry(janela, width=40) caixa_texto_1.grid(column=0, row=0, sticky=W, padx=15, pady=10) # criamos uma segunda caixa de texto Entry de linha única caixa_texto_2 = Entry(janela, width=40) caixa_texto_2.grid(column=0, row=1, sticky=W, padx=15, pady=0) # vamos criar um botão Button btn = Button(janela, text="Definir Foco", width=20, command=definir_foco) btn.grid(column=0, row=2, sticky=W, padx=15, pady=10) # entramos no loop da aplicação janela.mainloop() # função para definir o foco na primeira caixa de texto def definir_foco(): # definimos o foco na primeira caixa de texto Entry caixa_texto_1.focus_set() if __name__== "__main__": main() |
Python ::: Dicas & Truques ::: Lista (List) |
Como pesquisar um item em uma list e removê-lo usando a função remove() do PythonQuantidade de visualizações: 8564 vezes |
Nesta dica mostrarei como é possível usar a função remove() do tipo de dados list para pesquisar um item em uma lista e removê-lo. Observe que, se o item a ser removido não for encontrado, um erro do tipo ValueError será exibido. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # função principal do programa def main(): # cria uma lista de inteiros valores = [2, 5, 12, 2, 3, 32, 18] # exibe a lista print(valores) try: valor = int(input("Informe o valor a ser removido: ")) valores.remove(valor) except ValueError: print("O valor pesquisado nao foi encontrado") else: print("O valor foi removido com sucesso") # exibe a lista print(valores) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: [2, 5, 12, 2, 3, 32, 18] Informe o valor a ser removido: 2 O valor foi removido com sucesso [5, 12, 2, 3, 32, 18] Observe que a função remove() da list remove apenas o primeiro item encontrado, ou seja, se a lista possuir mais de um valor igual, apenas o primeiro será removido. |
Python ::: Dicas & Truques ::: Lista (List) |
Como adicionar itens no início de uma lista Python usando a função insert()Quantidade de visualizações: 9250 vezes |
Podemos usar o método insert() do objeto List da linguagem Python para inserir itens em qualquer posição, ou seja, em qualquer índice de uma lista. Para isso só precisamos informar o índice desejado e o valor a ser inserido. Nesta dica mostrarei como adicionar itens no início de uma List Python. Tudo que precisamos é informar o valor 0 para o índice. Veja o exemplo completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- """ Este exemplo mostra como adicionar itens ao início de uma lista de inteiros. """ def main(): # cria uma lista vazia valores = [] # início do laço for for i in range(1, 6): valor = int(input("Informe um inteiro: ")) # insere o valor no início da lista valores.insert(0, valor) # fim do laço for # exibe os valores da lista print("Valores na lista:", valores, "\n") if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Informe um inteiro: 5 Informe um inteiro: 8 Informe um inteiro: 3 Informe um inteiro: 2 Informe um inteiro: 9 Valores na lista: [9, 2, 3, 8, 5] |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Postura ética profissional A ética na engenharia envolve muitas questões, entre elas o estudo das decisões, das políticas e dos valores que são moralmente desejáveis na prática dessa profissão. Sendo assim, estudar ética na engenharia tem como objetivo: A) Capacitar os engenheiros a identificarem oportunidades para que seus projetos sejam aceitos. B) Capacitar os engenheiros a enfrentarem a complexidade moral envolvida nas decisões e ações do exercício. C) Priorizar a conformidade com normas técnicas em detrimento de considerações éticas mais amplas. D) Minimizar a importância do consentimento informado em projetos que impactam comunidades locais. E) Priorizar sempre o lucro das empresas sobre os valores éticos na execução de projetos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valor = 76.1234 print("O valor é: %0.2f" % valor) A) O valor é: 76.00 B) O valor é: 76.12 C) O valor é: 0076 D) O valor é: 0.76 E) O valor é: 76.13 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes Com relação as definições do preposto, assinale a alternativa correta. A) O preposto pode negociar por conta própria ou de terceiro, e participar indiretamente de operação idêntica a que lhe foi cometida. B) O preposto não pode, sem autorização escrita, fazer-se substituir no desempenho da preposição, sob pena de responder pessoalmente pelos atos do substituto e pelas obrigações por ele contraídas. C) Considera-se inválida a entrega de papéis, bens ou valores ao preposto, encarregado pelo preponente, se este os recebeu sem protesto. D) As limitações contidas na outorga de poderes podem ser opostas a terceiros, dependem do arquivamento e averbação do instrumento no Registro Público de Empresas Mercantis. E) No exercício de suas funções, os prepostos são pessoalmente responsáveis, perante terceiros, pelos atos culposos e atos dolosos. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
O manômetro Um manômetro é o instrumento utilizado para medir a pressão de fluidos contidos em recipientes fechados. O manômetro para medição da pressão absoluta é usado quando pressões devem ser medidas, independentemente da pressão atmosférica. A pressão do meio medido é determinada contra uma pressão de referência, sendo que esta última corresponde ao ponto zero da pressão absoluta. Nesse contexto, determine a pressão manométrica em P devido à deflexão do mercúrio do manômetro em U da figura a seguir. ![]() A) Aproximadamente 77kPa. B) Aproximadamente 89kPa. C) Aproximadamente 94kPa. D) Aproximadamente 106kPa. E) Aproximadamente 111kPa. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Levantamento topográfico no Civil 3D É uma ferramenta fundamental para gerenciar e organizar dados de levantamento topográfico. Ela permite que você armazene, edite e utilize informações de levantamentos topográficos e de campo de maneira eficiente. Estamos falando da ferramenta: A) Point Groups B) Aba Survey do Prospector C) Survey Point D) Survey Database Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Python |
Veja mais Dicas e truques de Python |
Dicas e truques de outras linguagens |
GNU Octave - GNU Octave para Álgebra Linear - Como calcular o determinante de uma matriz usando a função det() do GNU Octave |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |