Enviado em 02/06/2022 - 15:32h
Eu tenho um grande problema com uma parte do meu código:# =============================================== SAVING VALUES INSERTED ON THE MAIN SCREEN IN VARIABLES self.obter_resultado = self.ui.comboBox_produto.currentText() self.obter_preco = (self.ui.insere_preco.text()) self.obter_quantide = (self.ui.insere_quantidade.text()) self.obter_cliente = (self.ui.insere_cliente.text()) self.obter_prazo = self.ui.comboBox_prazo.currentText() self.obter_trasportadora = self.ui.comboBox_transport.currentText() self.obter_frete = self.ui.comboBox_frete.currentText() self.obter_num_pedido = (self.ui.insere_num_pedido.text()) self.obter_vendedor = self.ui.comboBox_vendedor.currentText() self.obter_embalagem = self.ui.comboBox_embalagem.currentText() self.obter_Nf = self.ui.checkBox_NF.isChecked() self.obter_Snf = self.ui.checkBox_SNF.isChecked() self.obter_obs = (self.ui.observacoes.text()) # =============================================== INSERTING PRICE, QUANTITY, PRODUCT AND PACKAGING IN THE "PRODUCTS" TABLE self.ui.tabela_recebe_produto.setRowCount(len(self.obter_resultado)) self.ui.tabela_recebe_produto.setItem(row, 0, QtWidgets.QTableWidgetItem(self.obter_resultado)) self.ui.tabela_recebe_produto.setItem(row, 1, QtWidgets.QTableWidgetItem(self.obter_quantide + " kg")) self.ui.tabela_recebe_produto.setItem(row, 2, QtWidgets.QTableWidgetItem("R$ " + self.obter_preco)) self.ui.tabela_recebe_produto.setItem(row, 3, QtWidgets.QTableWidgetItem(self.obter_embalagem)) row=row+1 # =============================================== SAVING VALUES TO A TEXT FILE if os.path.isdir(r"C:\\Users\Public\Documents\Pie"): print() else: os.mkdir(r"C:\\Users\Public\Documents\Pie") try: conteudo1 = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "r", encoding="utf-8").read() except: conteudo1 = "" if re.search("PEDIDO DE VENDA..\n\nVENDEDOR:", conteudo1): arq = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "w", encoding="utf-8") arq.write(conteudo1+"PRODUTO: %s | QUANTIDADE: %s kg | PREÇO: R$ %s\r"%(self.obter_resultado, self.obter_quantide, self.obter_preco)) arq.close() else: arq = open(f"C:\\Users\Public\Documents\Pie\Pedido_{self.obter_cliente}.txt", "w", encoding="utf-8") arq.write(conteudo1+"PEDIDO DE VENDA..\n\nVENDEDOR: %s\nCLIENTE: %s\nPRAZO: %s\nN°PEDIDO: %s\nNF: %s\nSnF: %s\nTRANSPORTADORA: %s\nFRETE: %s\nPRODUTO: %s | QUANTIDADE: %s kg | PREÇO: R$ %s\r\n\n Obs:%s\r"%(self.obter_vendedor, self.obter_cliente, self.obter_prazo, self.obter_num_pedido, self.obter_Nf, self.obter_Snf, self.obter_trasportadora, self.obter_frete, self.obter_resultado, self.obter_quantide, self.obter_preco, self.obter_obs)) arq.close() # =============================================== GLOBAL VARIABLE TO CALCULATE FREIGHT global qtdd global valor # =============================================== CALCULATION OF FINAL WEIGHT AND QUANTITY valor = valor + float(self.obter_preco) qtdd = qtdd + float(self.obter_quantide) # =============================================== INSERT THE VALUE IN THE LABEL OF THE WEIGHT AND FINAL QUANTITY valor_total = valor * qtdd self.ui.recebe_peso_total.setText(str(qtdd)) self.ui.recebe_valor_total.setText(str(valor_total))
Enviado em 02/06/2022 - 15:55h
Enviado em 03/06/2022 - 09:34h
Enviado em 03/06/2022 - 09:46h
valor = valor + float(self.obter_preco) # >>>>>>>>>>> ESTA VARIAVEL VALOR ESTA SOMANDO OS VALORES QUE FORAM INSERIDOS NA COLUNA (PREÇO) qtdd = qtdd + float(self.obter_quantide) # >>>>>>>>> ESTA VARIAVEL QTDD ESTA SOMANDO A QUANTIDADE QUE FOI INSERIDO NA COLUNA (QUANTIDADE) valor_total = valor * qtdd # >>>>>>>>>>>>>>>>>>>> ESTA VARIAVEL GUARDA O RESULTADO DE VALOR X QTDD self.ui.recebe_peso_total.setText(str(f"%s kg"%qtdd)) # >>>>>>>>>>>>> INSERE A QUANTIDADE SOMADA NA LABEL (PESO TOTAL) self.ui.recebe_valor_total.setText(str(f"R$: %s"%valor_total)) # >>>>>>>> INSERE O PREÇO SOMADO NA LABEL (VALOR TOTAL)
Enviado em 03/06/2022 - 10:06h
Poste a classe toda no pastebin para podermos te ajudar melhor. Tenho uma suspeita do que pode estar acontecendo, você pode estar fazendo este cálculo no momento que instância a classe, por isso é feito somente uma única vez. Para corrigir teríamos que criar um método para realizar o cálculo sempre que necessário.--> Nome das variáveis em inglês é uma boa escolha sempre, mas não é obrigatório.
--> Encurte de forma objetiva o nome das variáveis.
Enviado em 03/06/2022 - 11:34h
--> Nome das variáveis em inglês é uma boa escolha sempre, mas não é obrigatório.
--> Encurte de forma objetiva o nome das variáveis.
Enviado em 03/06/2022 - 12:59h
--> Nome das variáveis em inglês é uma boa escolha sempre, mas não é obrigatório.
--> Encurte de forma objetiva o nome das variáveis.
Enviado em 03/06/2022 - 13:38h
Existe um design pattern conhecido como Singleton, não é a melhor solução mas vai te ajudar muito no não uso de variáveis globais. A solução para seu problema é:pr += pp * pq
valor += float(self.obter_preco) * float(self.obter_quantide) qtdd += float(self.obter_quantide)
self.ui.recebe_peso_total.setText(str(f"%s kg" % qtdd)) self.ui.recebe_valor_total.setText(str(f"R$: %s" % valor))
Enviado em 03/06/2022 - 13:53h
pr += pp * pq
valor += float(self.obter_preco) * float(self.obter_quantide) qtdd += float(self.obter_quantide)
self.ui.recebe_peso_total.setText(str(f"%s kg" % qtdd)) self.ui.recebe_valor_total.setText(str(f"R$: %s" % valor))
Enviado em 03/06/2022 - 14:02h
Enviado em 03/06/2022 - 15:22h
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit