Você está aqui: Python ::: PyQt GUI Toolkit ::: QPushButton

Como fechar a janela principal de uma aplicação PyQt ao clicar em um botão QPushButton

Quantidade de visualizações: 660 vezes
Nesta dica mostrarei como podemos detectar o evento clicked de um botão QPushButton para fechar a janela principal da nossa aplicação Python PyQt. Note que aqui eu criei a janela principal como sub-classe da classe QWidget.

Veja também como usamos a função connect() para conectar o evento clicked do botão ao método close() da classe QWidget.

Eis o código Python completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# vamos importar os módulos necessários
import sys
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *

# uma classe JanelaPrincipal que extende QWidget
class JanelaPrincipal(QWidget):
  # construtor da classe
  def __init__(self):
    # chama o construtor da super classe
    super().__init__()
    # define o tamanho da janela
    self.resize(500, 300)
    #define o título da janela
    self.setWindowTitle("Cadastro de Clientes")
 
    # criamos um botão QPushButton
    botao = QPushButton("Fechar", self)
    # fazemos a conexão com a função que fecha a aplicação
    botao.clicked.connect(self.close)
    # e definimos a posição do botão na janela
    botao.move(10, 10)

if __name__== "__main__":
  # criamos a aplicação PyQt
  app = QApplication(sys.argv)
  # criamos a janela principal
  janela_principal = JanelaPrincipal()
  # tornamos a janela visível
  janela_principal.show()
  # e executamos a aplicação
  sys.exit(app.exec())


Link para compartilhar na Internet ou com seus amigos:

Python ::: Dicas & Truques ::: Arquivos e Diretórios

Como criar um diretório em Python usando a função mkdir() do módulo os

Quantidade de visualizações: 3095 vezes
Podemos usar a função mkdir() do módulo os da linguagem Python para criarmos diretórios. Em sua versão mais simples, este método pede somente o nome e caminho do diretório a ser criado. Se o caminho for omitido, o novo diretório será criado no diretório atual, ou seja, o diretório da aplicação Python.

Veja um exemplo no qual criamos um diretório chamado "app" no diretório "C:\estudos_python":

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  # vamos criar o diretório
  os.mkdir(diretorio)

  # mostramos o resultado
  print('O diretório foi criado com sucesso.')

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

c:\estudos_python>python estudos.py
O diretório foi criado com sucesso.

Note que um erro do tipo FileExistsError será exibido se o diretório já existir:

Traceback (most recent call last):
File "c:\estudos_python\estudos.py", line 16, in <module>
main()
File "c:\estudos_python\estudos.py", line 10, in main
os.mkdir(diretorio)
FileExistsError: [WinError 183] Não é possível criar um arquivo já existente: 'C:\\estudos_python\\app'

Uma forma de evitar este erro é verificar se o diretório já existe ou usar uma construção try...except. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importa o módulo os
import os

# método principal  
def main():
  # nome do diretório
  diretorio = "C:\\estudos_python\\app"

  try:
    # vamos criar o diretório
    os.mkdir(diretorio)
    # mostramos o resultado
    print('O diretório foi criado com sucesso.')
  except os.error as error_msg:
    print("Houve um erro: %s" % str(error_msg))

if __name__== "__main__":
  main()

Execute o código novamente e veja como o tratamento de erro ficou mais elegante.


Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Arrays e Matrix (Vetores e Matrizes)

Como criar arrays (vetores e matrizes) usando o objeto ndarray da biblioteca Numpy do Python

Quantidade de visualizações: 3034 vezes
O objeto ndarray é a parte mais importante da biblioteca Numpy do Python. É por meio dele que criamos vetores e matrizes. Quando falamos vetores, estamos nos referindo às matrizes de apenas uma dimensão, ou seja, uma linha e várias colunas.

A forma mais comum de se criar arrays na Numpy é usando funções presentes na biblioteca. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np

def main():
  # vamos usar o método arange() para construir um
  # vetor de 10 elementos, começando de 0 até 9
  vetor = np.arange(10)

  # vamos mostrar o vetor gerado  
  print(vetor)

if __name__== "__main__":
  main()

Ao executar este código nós teremos o seguinte resultado:

[0 1 2 3 4 5 6 7 8 9]

Depois que criamos o vetor, seus elementos individuais podem ser acessados usando-se o nome da variável usada para representar todo o valor e o índice do elemento que queremos acessar (começando em 0). Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np

def main():
  # vamos usar o método arange() para construir um vetor de
  # 10 elementos, começando de 0 até 9
  vetor = np.arange(10)

  # vamos mostrar o vetor inteiro  
  print("Vetor gerado: ", vetor)

  # vamos mostrar o valor do terceiro elemento
  print("Terceiro elemento: ", vetor[2])

if __name__== "__main__":
  main()

Este código produzirá o seguinte resultado:

Vetor gerado: [0 1 2 3 4 5 6 7 8 9]
Terceiro elemento: 2

Uma outra forma de criarmos vetores usando a Numpy, é fornecendo os elementos do vetor como uma list. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np

def main():
  # vamos criar um vetor passando uma list
  valores = np.array([4, 12, 50, 8, 32])
  
  # vamos mostrar o resultado
  print("Elementos no vetor:", valores)

if __name__== "__main__":
  main()


Este código vai gerar o seguinte resultado:

Elementos no vetor: [ 4 12 50 8 32]

Agora vamos usar essa mesma abordagem para criar uma matriz de duas dimensões (bidimensional):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np

def main():
  # vamos criar uma matriz bidimensional passando
  # duas lists dentro de uma list
  valores = np.array([(4, 12, 50), (5, 3, 1)])

  # vamos mostrar o resultado
  print("Elementos no vetor:", valores)

if __name__== "__main__":
  main()

Veja o resultado da execução desse código:

Elementos no vetor: [[12 12 50]
 [ 5  3  1]]


Em mais dicas dessa seção você aprenderá mais sobre as funções de criação e manipulação de vetores e matrizes usando a biblioteca NumPy do Python.


Python ::: Dicas & Truques ::: Matemática e Estatística

Como obter a série de Fibonacci recursivamente usando Python - Como calcular a sequência de Fibonacci em Python

Quantidade de visualizações: 15813 vezes
Na matemática, os números de Fibonacci são uma sequência ou sucessão definida como recursiva pela
fórmula:

Fn = Fn - 1 + Fn - 2

Os primeiros números de Fibonacci são:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, ...

Esta sequência foi descrita primeiramente por Leonardo de Pisa, também conhecido como Fibonacci, para descrever o crescimento de uma população de coelhos.

Veja um techo de código que mostra como calcular e mostrar a sequência de Fibonacci de forma recursiva:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método recursivo para calcular o Fibonacci de um
# número
def fibonacci(num):
  if num < 0:
    print("Não é possível obter o fibonacci de um numero negativo.")
  
  if ((num == 0) or (num == 1)):
    return num
  else:
    return fibonacci(num - 1) + fibonacci(num - 2)
 
def main():
  # vamos ler a entrada do usuário
  numero = int(input("Informe um inteiro: "))

  # vamos obter o resultado
  res = fibonacci(numero)
  print("Fibonacci(%d) = %d" % (numero, res))
 
if __name__== "__main__":
  main()

Ao executarmos este código nós teremos um resultado parecido com:

Informe um inteiro: 7
Fibonacci(7) = 13

E agora saindo um pouco de Python: Leonardo Pisa (1175-1240) publicou a sequência de Fibonacci no seu livro Liber Abaci (Livro do Ábaco, em português), o qual data de 1202. Porém, comenta-se que os indianos já haviam descrito essa série antes dele.

Se pegarmos um número da série de Fibonacci e o dividirmos pelo seu antecessor (por exemplo: 55 dividido por 34), teremos quase sempre o valor 1,618. Este valor é aplicado com muita frequência em análises financeiras e na informática. Leonardo Da Vinci, que chamou essa sequência de Divina Proporção, a usou para fazer desenhos perfeitos.

De fato, se observarmos atentamente, perceberemos a sequência de Fibonacci também na natureza. São exemplos disso as folhas das árvores, as pétalas das rosas, os frutos, como o abacaxi, as conchas espiraladas dos caracóis ou as galáxias.


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 71 usuários muito felizes estudando em nosso site.