Somar o valor da label (PyQt5 + MySQL)

126 views
Skip to first unread message

Kaique Afonso

unread,
Apr 30, 2021, 2:49:15 PM4/30/21
to python...@googlegroups.com
Olá pessoal boa tarde, eu criei um método para que ao apertasse o botão a linha em que eu estiver clicado na table widget o valor dela irá aparecer na tela, como podemos ver em "print1"
o código desta operação está em "print2". Eu gostaria de saber se existe alguma maneira de ao clicar novamente no botão somar os preços na label. Agradeço desde já

--
Kaique Afonso Ferreira do Rosário
Deus, Pátria e Família
Santo Antônio de Jesus (BA) - 44440-822
(75) 98172-9111 Oi  Kaique

print1.PNG
print2.PNG

Adriano Christi

unread,
May 2, 2021, 2:31:21 PM5/2/21
to Python Brasil
Somar quais preços?

Sent from my AC&MM Galaxy A70

Kaique Afonso

unread,
May 3, 2021, 7:23:13 AM5/3/21
to python...@googlegroups.com
Está aí na tela o valor: "12.546,64" ai gostaria que ao apertar novamente em enviar ele somasse o valor que eu apertei mostrando na tela: "25.093,28"

--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
 
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
 
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/47977c74-5f12-4776-b25e-372daacc759cn%40googlegroups.com.

ACMM

unread,
May 3, 2021, 9:07:44 AM5/3/21
to python...@googlegroups.com
Eu creio que seja melhor criar uma função diferente pra fazer isso. Onde, assim como tu pegas o número da linha e coluna na tabela pra exibir o valor no label, tu podes fazer com que cada vez que uma célula é clicada na tabela, o valor seja guardado em yma variável e somado a cada clique e depois exibido o valor na label e só quando não precisar somar mais nada, aí sim, clica no botão ENVIAR pra finalizar a operação.
Agora é só implementar a lógica pra isso. E não é difícil.


Sent from my AC&MM Galaxy A70

Kaique Afonso

unread,
May 3, 2021, 9:28:34 AM5/3/21
to python...@googlegroups.com
Ahh então no caso o botão vai ser conectado a duas funções né isso?

ACMM

unread,
May 3, 2021, 9:57:13 AM5/3/21
to python...@googlegroups.com
Não. O simples fato de clicar na célula de uma tabela pode devolver o número da linha e da coluna. Tendo isso, é só criar a lógica pra pegar o valor correspondente a essa célula (linha e coluna) e atribuir a uma variável inicializada em 0 (zero) que vai estar dentro de uma função e a cada clique em qualquer célula da tabela vai somando ao valor que já está atribuído a variável e o valor da soma é exibido no label. Só vai clicar no botão ENVIAR quando toda a soma já estiver feita, pois o botão vai enviar o valor total definitivo.
Vai ser preciso criar um botão pra resetar o label caso some um valor errado.


Sent from my AC&MM Galaxy A70

Kaique Afonso

unread,
May 3, 2021, 10:09:45 AM5/3/21
to python...@googlegroups.com
Seria, no caso, eu estiver com o botão "Ctrl" pressionado ir selecionando os valores e envio e irá somar, nesta função eu terei de usar o método "eval"?

Adriano Christi

unread,
May 3, 2021, 11:15:26 AM5/3/21
to Python Brasil
Não.Não teria nada a ver com botão do teclado e sim somente o ato de clicar em um item da tabela.
Existem dois métodos em PyQt5 currentRow( )currentColumn( ) que podem informar o valor da linha e da coluna respectivamente. E tem o currentItem( ) e o selectedItems( ) que é um método que captura o valor do item clicado na tabela. Tem um método que faz a conexão entre o clique na célula da tabela e a função que vai fazer a soma e exibir o resultado que é o currentCellChanged.connect(user function). Com essa informação em mãos já é possível fazer a mágica acontecer.
Isso que eu estou te passando agora dá pra encontrar na internet em geral só que a grande maioria está em Inglês. Mas ainda assim, dá pra entender vendo os exemplos de códigos.
Eu ja criei um aplicativo em PyQt5 que faz exatamente isso e não é difícil de implementar.
Uma ideia da lógica como ficaria na função:

soma_de_valores += tabela[linha] [coluna]
label.setText(soma_de_valores)

Agora é contigo. Espero que ajude.

Sent from my AC&MM Galaxy Tab S4

Kaique Afonso

unread,
May 3, 2021, 1:03:24 PM5/3/21
to python...@googlegroups.com
Obrigado pelo conselho amigo, já tenho em mente o que irei fazer. Abraços!!

ACMM

unread,
May 3, 2021, 1:22:28 PM5/3/21
to python...@googlegroups.com
Uma sugestão que eu dou é que tu se preocupe mais em aprender lógica de programação do que a interface gráfica ou outra coisa qualquer sobre programação. Vê bem como eu escrevi: se preocupar mais em aprender lógica, ou seja, ter um foco maior nisso. As outras coisas que tu quiseres aprender vão ficar mais fluídas depois disso.
Tem alguns materiais de exemplos de aplicativos bem simples que eu já fiz em PyQt5 no site Passei direto. Procura pelo perfil Adriano Martins (na foto de perfil tem uma imagem do anime Bleach). Filtra por universidade Fapan e curso Ciência da computação.


Sent from my AC&MM Galaxy A70
Reply all
Reply to author
Forward
0 new messages