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: 598 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 ::: 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 Python

Quantidade de visualizações: 16130 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 com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# 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 com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# 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 ::: Dicas & Truques ::: Strings e Caracteres

Como verificar se uma string está toda em letras minúsculas usando a função islower() da classe string do Python

Quantidade de visualizações: 8083 vezes
Em algumas ocasiões nós precisamos verificar se uma palavra, frase ou texto contém apenas letras minúsculas. Para isso pode usar a função islower() da classe string do Python. Esta função True se a string contiver apenas letras minúsculas e False em caso contrário.

Note que, mesmo que a string contenha números ela ainda pode estar em letras minúsculas.

Veja o código completo:

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

# função principal do programa
def main():
  frase = "ainda gosto do python_2.6"
 
  if frase.islower():
    print("A string está em letras minúsculas")
  else:
    print("A string não está em letras minúsculas")
  
if __name__== "__main__":
  main()

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

A string está em letras minúsculas


Python ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres

Exercício Resolvido de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table

Quantidade de visualizações: 2325 vezes
Exercícios Resolvidos de Python - Como testar se duas palavras são anagramas uma da outra - Solução usando dicionário/hash table

Pergunta/Tarefa:

Dadas duas palavras p1 e p2, escreva um código Python que informa se uma palavra é anagrama da outra. Um anagrama é uma espécie de jogo de palavras criado com a reorganização das letras de uma palavra ou expressão para produzir outras palavras ou expressões, utilizando todas as letras originais exatamente uma vez.

Para esta solução você deverá, obrigatoriamente, usar um dicionário Python, ou seja, um objeto dict. O objetivo é construir duas tabelas de frequências dos caracteres de cada palavra. Dicionários em Python são similares às tabelas hash (hash tables) em outras linguagens de programação.

Seu programa deverá exibir a seguinte saída:



Resposta/Solução:

Veja a resolução com código comentado em Python:

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

# método que recebe duas palavras e retorna
# verdadeiro se uma palavra for anagrama da
# outra
def anagramas(palavra1, palavra2):
  # o primeiro passo é verificar se os comprimentos das duas
  # palavras são iguais
  if(len(palavra1) != len(palavra2)):
    return False 

  # agora criamos dois dictionaries para as frequencias de
  # cada uma das palavras
  freq_p1 = {}
  freq_p2 = {}

  # agora registramos as frequências de letras na primeira
  # palavra
  for letra in palavra1:
    # a letra já está no dicionário?
    if letra in freq_p1:
      freq_p1[letra] += 1 # aumenta a frequêcia desta letra
    else:
      freq_p1[letra] = 1 # ainda não estava no dicionário

  # agora registramos as frequências de letras na segunda
  # palavra
  for letra in palavra2:
    # a letra já está no dicionário?
    if letra in freq_p2:
      freq_p2[letra] += 1 # aumenta a frequêcia desta letra
    else:
      freq_p2[letra] = 1 # ainda não estava no dicionário 

  # registradas as frequências de letras das duas palavras,
  # chegou a hora de compararmos os dois dicionários
  for chave in freq_p1:
    # esta chave não está no segundo dicionário ou
    # possui valores diferentes?
    if chave not in freq_p2  or freq_p1[chave] != freq_p2[chave]:
      return False 
  
  # se chegou até aqui então uma palavra é anagrama da outra
  return True 

def main():
  # vamos ler duas palavras e verificar se uma é anagrama da outra
  palavra1 = input("Informe a primeira palavra: ")
  palavra2 = input("Informe a segunda palavra: ")

  # vamos chamar o método que faz a verificação
  if(anagramas(palavra1, palavra2)):
    print("As duas palavras são anagramas")
  else:
    print("As duas palavras não são anagramas")

if __name__== "__main__":
  main()



Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

valores = [4, 1, 8, 3, 7, 9]
for i in range(0, len(valores)):
  if i % 2 == 0:
    print("{0}  ".format(valores[i]), end="")

A) Erro NameError: name 'end' is not defined na linha 4

B) 4 1 8

C) Erro SyntaxError: invalid syntax na linha 3

D) 1 3 9

E) 4 8 7
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Noções de licitação pública

O procedimento licitatório compreende duas fases: a fase interna, ocorrida dentro do órgão ou da entidade, e a fase externa.

Sobre as fases da licitação pública, assinale "V" para as afirmativas verdadeiras e "F" para as falsas.

( ) Cabem à comissão de licitação a homologação e a adjudicação do certame.

( ) A fase de habilitação poderá ser invertida a critério da administração e mediante apresentação de justificativa da referida inversão.

( ) A publicação do instrumento convocatório é a última etapa da fase interna da licitação.

A alternativa que apresente a sequência correta é:

A) V, V, V.

B) F, F, F.

C) V, V, F.

D) F, V, V.

E) F, V, F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações profundas

A grande vantagem das estacas moldadas in solo em relação às pré-moldadas é permitir que o comprimento estritamente necessário seja concretado.

O tipo de fundação profunda constituída por concreto, moldada in loco e executada por meio de trado contínuo e injeção de concreto pela própria haste do trado, é a:

A) estaca escavada mecanicamente.

B) estaca injetada.

C) estaca hélice contínua.

D) estaca Franki.

E) estaca-raiz.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira

Ações em estruturas: apresentação dos principais carregamentos na análise de estruturas convencionais

É exemplo de ação permanente direta:

A) Peso próprio da estrutura.

B) Vento.

C) Terremoto.

D) Deslocamentos de apoios.

E) Mobiliário.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Fases de uma obra

Ao documento em que se registram, pela ordem de sucessão em que são executados, os serviços necessários à realização da construção e os respectivos prazos, dá-se o nome de:

A) Diário de obra.

B) Cronograma físico-financeiro.

C) Gráfico de Gantt.

D) Planejamento.

E) Cronograma físico.
Verificar Resposta Estudar Cards Todas as Questões

Mais Desafios de Programação e 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: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



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