Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- # Form implementation generated from reading ui file 'cadastroprodutos.ui'
- #
- # Created by: PyQt5 UI code generator 5.13.0
- #
- # WARNING! All changes made in this file will be lost!
- from PyQt5 import QtCore, QtGui, QtWidgets
- import sqlite3
- banco = sqlite3.connect('Vendas.db')
- cursor = banco.cursor()
- cursor.execute("""CREATE TABLE IF NOT EXISTS Produtos (Nome Text Not Null,
- Quant Integer Not Null,
- Preco Real Not Null,
- Valor Real Not Null,
- Forn Text)""")
- #Glossário
- # Nome = Nome do Produto
- # Quant = Quantidade no Estoque
- # Preco = Preço pra venda
- # Valor = Valor de Compra
- # Forn = Nome Fornecedor
- cursor.execute("""CREATE TABLE IF NOT EXISTS Clientes (Nome Text Not Null,
- CPF Text Not Null,
- Telefone Text Not Null,
- Criacao Text Not Null)""")
- # Glossário
- # Nome = Nome do Cliente
- # CPF = CPF do Cliente
- # Telefone = Telefone do Cliente
- # Criacao = Data de Criaçao do Cadastro
- cursor.execute("""CREATE TABLE IF NOT EXISTS Fornecedor (Nome Text Not Null,
- Local Text Not Null,
- Telefone Text Not Null)""")
- # Glossário
- # Nome = Nome Fornecedor
- # Local = Endereço Fornecedor
- # Telefone = Telefone Fornecedor
- cursor.execute("""CREATE TABLE IF NOT EXISTS Funcionarios (Nome Text Not Null,
- Tipo Integer Not Null,
- Salario Real Not Null,
- Data Text Not NUll)""")
- # Glossário
- # Nome = Nome Funcionario
- # Tipo = Tipo de Funcionario
- # 1 = Gerente
- # 2 = Gerente estoque
- # 3 = Limpeza
- # 4 = Vendedor
- # Salario = Salario Funcionario
- # Data = Data de Contratação
- cursor.execute("""CREATE TABLE IF NOT EXISTS Contas (Nome Text Not Null,
- Chegada Text Not Null,
- Vencimento Text Not Null,
- Valor Text Not Null)""")
- # Glossário
- # Nome = Nome Conta
- # Local = Data da Chegada da Conta
- # Data = Data Vencimento
- # Valor = Valor
- cursor.execute("""CREATE TABLE IF NOT EXISTS Vendas (Nome Text Not Null,
- Quant Text Not Null,
- Preco Text Not Null,
- Vend Text Not Null,
- Data Text Not Null,
- Lucro Text Not Null)""")
- # Glossário
- # Nome = Nome Produto
- # Quant = Quantidade de vendas
- # Preço = Valor Produto na Venda
- # Vend = Vendedor
- # Data = Data e Hora da Venda
- # Lucro = Lucro por venda
- banco.commit()
- class Ui_MainWindow(object):
- def setupUi(self, MainWindow):
- MainWindow.setObjectName("MainWindow")
- MainWindow.resize(665, 529)
- MainWindow.setMinimumSize(QtCore.QSize(0, 0))
- MainWindow.setStyleSheet("background-color: rgb(234, 234, 234);\n""")
- self.banco = sqlite3.connect('Vendas.db')
- self.cursor = banco.cursor()
- self.centralwidget = QtWidgets.QWidget(MainWindow)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.centralwidget.sizePolicy().hasHeightForWidth())
- self.centralwidget.setSizePolicy(sizePolicy)
- self.centralwidget.setMinimumSize(QtCore.QSize(0, 0))
- self.centralwidget.setObjectName("centralwidget")
- self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget)
- self.horizontalLayout.setObjectName("horizontalLayout")
- self.frameprodutos = QtWidgets.QFrame(self.centralwidget)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.frameprodutos.sizePolicy().hasHeightForWidth())
- self.frameprodutos.setSizePolicy(sizePolicy)
- self.frameprodutos.setStyleSheet("background-color: rgb(200, 200, 200);")
- self.frameprodutos.setFrameShape(QtWidgets.QFrame.StyledPanel)
- self.frameprodutos.setFrameShadow(QtWidgets.QFrame.Raised)
- self.frameprodutos.setObjectName("frameprodutos")
- self.gridLayout_2 = QtWidgets.QGridLayout(self.frameprodutos)
- self.gridLayout_2.setObjectName("gridLayout_2")
- self.produtos = QtWidgets.QFrame(self.frameprodutos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.produtos.sizePolicy().hasHeightForWidth())
- self.produtos.setSizePolicy(sizePolicy)
- self.produtos.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.produtos.setAutoFillBackground(False)
- self.produtos.setStyleSheet("background-color: rgb(220, 220, 220);")
- self.produtos.setFrameShape(QtWidgets.QFrame.Box)
- self.produtos.setFrameShadow(QtWidgets.QFrame.Sunken)
- self.produtos.setLineWidth(1)
- self.produtos.setObjectName("produtos")
- self.gridLayout_4 = QtWidgets.QGridLayout(self.produtos)
- self.gridLayout_4.setObjectName("gridLayout_4")
- self.labelestoque = QtWidgets.QLabel(self.produtos)
- self.labelestoque.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.labelestoque.setStyleSheet("font: 75 12pt \"Nexa Bold\";")
- self.labelestoque.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.labelestoque.setObjectName("labelestoque")
- self.gridLayout_4.addWidget(self.labelestoque, 8, 0, 1, 1)
- self.precovendatext = QtWidgets.QLineEdit(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.precovendatext.sizePolicy().hasHeightForWidth())
- self.precovendatext.setSizePolicy(sizePolicy)
- self.precovendatext.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.precovendatext.setAlignment(QtCore.Qt.AlignCenter)
- self.precovendatext.setObjectName("precovendatext")
- self.gridLayout_4.addWidget(self.precovendatext, 10, 1, 1, 11)
- self.label = QtWidgets.QLabel(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
- self.label.setSizePolicy(sizePolicy)
- self.label.setStyleSheet("font: 75 20pt \"Nexa Bold\";\n""color: rgb(44, 44, 44);")
- self.label.setObjectName("label")
- self.gridLayout_4.addWidget(self.label, 2, 4, 1, 1)
- self.fornecedorcomboBox = QtWidgets.QComboBox(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.fornecedorcomboBox.sizePolicy().hasHeightForWidth())
- self.fornecedorcomboBox.setSizePolicy(sizePolicy)
- self.fornecedorcomboBox.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.fornecedorcomboBox.setObjectName("fornecedorcomboBox")
- self.gridLayout_4.addWidget(self.fornecedorcomboBox, 11, 1, 1, 11)
- self.editarprodutoButton = QtWidgets.QPushButton(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.editarprodutoButton.sizePolicy().hasHeightForWidth())
- self.editarprodutoButton.setSizePolicy(sizePolicy)
- self.editarprodutoButton.setStyleSheet("font: 75 10pt \"Nexa\";\n""background-color: rgb(112, 128, 144);")
- self.editarprodutoButton.setObjectName("editarprodutoButton")
- self.editarprodutoButton.clicked.connect(self.editarProd)
- self.gridLayout_4.addWidget(self.editarprodutoButton, 14, 1, 1, 1)
- self.deletarprodutoButton = QtWidgets.QPushButton(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.deletarprodutoButton.sizePolicy().hasHeightForWidth())
- self.deletarprodutoButton.setSizePolicy(sizePolicy)
- self.deletarprodutoButton.setStyleSheet("font: 75 10pt \"Nexa\";\n""background-color: rgb(112, 128, 144);")
- self.deletarprodutoButton.setObjectName("deletarprodutoButton")
- self.deletarprodutoButton.clicked.connect(self.deleteprod)
- self.gridLayout_4.addWidget(self.deletarprodutoButton, 14, 4, 1, 1)
- self.labelprecovenda = QtWidgets.QLabel(self.produtos)
- self.labelprecovenda.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.labelprecovenda.setStyleSheet("font: 75 12pt \"Nexa Bold\";")
- self.labelprecovenda.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.labelprecovenda.setObjectName("labelprecovenda")
- self.gridLayout_4.addWidget(self.labelprecovenda, 10, 0, 1, 1)
- self.labelproduto = QtWidgets.QLabel(self.produtos)
- self.labelproduto.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.labelproduto.setStyleSheet("font: 75 12pt \"Nexa Bold\";")
- self.labelproduto.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.labelproduto.setObjectName("labelproduto")
- self.gridLayout_4.addWidget(self.labelproduto, 7, 0, 1, 1)
- self.labelprecocusto = QtWidgets.QLabel(self.produtos)
- self.labelprecocusto.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.labelprecocusto.setStyleSheet("font: 75 12pt \"Nexa Bold\";")
- self.labelprecocusto.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.labelprecocusto.setObjectName("labelprecocusto")
- self.gridLayout_4.addWidget(self.labelprecocusto, 9, 0, 1, 1)
- self.novoprodutoButton = QtWidgets.QPushButton(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.novoprodutoButton.sizePolicy().hasHeightForWidth())
- self.novoprodutoButton.setSizePolicy(sizePolicy)
- self.novoprodutoButton.setStyleSheet("font: 75 10pt \"Nexa\";\n""background-color: rgb(112, 128, 144);\n""")
- self.novoprodutoButton.setObjectName("novoprodutoButton")
- self.novoprodutoButton.clicked.connect(self.addProduto)
- self.gridLayout_4.addWidget(self.novoprodutoButton, 14, 0, 1, 1)
- self.labelfornecedor = QtWidgets.QLabel(self.produtos)
- self.labelfornecedor.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.labelfornecedor.setStyleSheet("font: 75 12pt \"Nexa Bold\";")
- self.labelfornecedor.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
- self.labelfornecedor.setObjectName("labelfornecedor")
- self.gridLayout_4.addWidget(self.labelfornecedor, 11, 0, 1, 1)
- self.estoquetext = QtWidgets.QLineEdit(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.estoquetext.sizePolicy().hasHeightForWidth())
- self.estoquetext.setSizePolicy(sizePolicy)
- self.estoquetext.setFocusPolicy(QtCore.Qt.StrongFocus)
- self.estoquetext.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.estoquetext.setAlignment(QtCore.Qt.AlignCenter)
- self.estoquetext.setObjectName("estoquetext")
- self.gridLayout_4.addWidget(self.estoquetext, 8, 1, 1, 11)
- self.produtotext = QtWidgets.QLineEdit(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.produtotext.sizePolicy().hasHeightForWidth())
- self.produtotext.setSizePolicy(sizePolicy)
- self.produtotext.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.produtotext.setText("")
- self.produtotext.setAlignment(QtCore.Qt.AlignCenter)
- self.produtotext.setObjectName("produtotext")
- self.gridLayout_4.addWidget(self.produtotext, 7, 1, 1, 11)
- self.listaprodutos = QtWidgets.QTableWidget(self.produtos)
- self.listaprodutos.setEnabled(True)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.listaprodutos.sizePolicy().hasHeightForWidth())
- self.listaprodutos.setSizePolicy(sizePolicy)
- self.listaprodutos.setLayoutDirection(QtCore.Qt.LeftToRight)
- self.listaprodutos.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.listaprodutos.setFrameShadow(QtWidgets.QFrame.Sunken)
- self.listaprodutos.setRowCount(0)
- self.listaprodutos.setColumnCount(6)
- self.listaprodutos.setObjectName("listaprodutos")
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(4, item)
- item = QtWidgets.QTableWidgetItem()
- self.listaprodutos.setHorizontalHeaderItem(5, item)
- self.listaprodutos.horizontalHeader().setCascadingSectionResizes(True)
- self.listaprodutos.horizontalHeader().setSortIndicatorShown(True)
- self.gridLayout_4.addWidget(self.listaprodutos, 12, 0, 1, 13)
- self.precocustotext = QtWidgets.QLineEdit(self.produtos)
- sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.precocustotext.sizePolicy().hasHeightForWidth())
- self.precocustotext.setSizePolicy(sizePolicy)
- self.precocustotext.setStyleSheet("background-color: rgb(255, 255, 255);")
- self.precocustotext.setAlignment(QtCore.Qt.AlignCenter)
- self.precocustotext.setObjectName("precocustotext")
- self.gridLayout_4.addWidget(self.precocustotext, 9, 1, 1, 11)
- self.gridLayout_2.addWidget(self.produtos, 0, 0, 1, 1)
- self.horizontalLayout.addWidget(self.frameprodutos)
- MainWindow.setCentralWidget(self.centralwidget)
- ########## Conexão com o Banco de Dados Para Atualizar lista produtos automaticamente
- self.LoadDatabase()
- self.retranslateUi(MainWindow)
- QtCore.QMetaObject.connectSlotsByName(MainWindow)
- ########## Conexão com o Banco de Dados Para Atualizar lista produtos automaticamente
- def LoadDatabase(self):
- self.banco = sqlite3.connect('Vendas.db')
- self.cursor = banco.cursor()
- query = "SELECT * FROM Produtos"
- result = self.banco.execute(query)
- self.listaprodutos.setRowCount(0)
- for row_number, row_data in enumerate(result):
- self.listaprodutos.insertRow(row_number)
- for colum_number, data in enumerate(row_data):
- self.listaprodutos.setItem(row_number, colum_number, QtWidgets.QTableWidgetItem(str(data)))
- ########## Limpar Dados assim que adicionar os produtos
- def limparcampos(self):
- self.produtotext.clear()
- self.estoquetext.clear()
- self.precocustotext.clear()
- self.precovendatext.clear()
- self.fornecedorcomboBox.clear()
- ########## Adicionar Produtos E Atualizar Lista De Produtos
- def addProduto(self):
- self.banco = sqlite3.connect('Vendas.db')
- self.cursor = banco.cursor()
- Nome = self.produtotext.text()
- Quant = self.estoquetext.text()
- Valor = self.precocustotext.text()
- Preco = self.precovendatext.text()
- Forn = self.fornecedorcomboBox.currentText()
- if Nome != '' or Quant != '' or Valor != '' or Preco != '' or Forn != '':
- self.banco.execute(f"""INSERT INTO Produtos VALUES ('{Nome}',{Quant}, {Valor}, {Preco}, '{Forn}')""")
- self.banco.commit()
- self.LoadDatabase()
- self.limparcampos()
- ### Função Editar Produtos
- def editarProd(self):
- self.banco = sqlite3.connect('Vendas.db')
- self.cursor = banco.cursor()
- query = "SELECT * FROM Produtos"
- result = self.banco.execute(query)
- for row_number in enumerate(result):
- if row_number[0] == self.listaprodutos.currentRow():
- data = row_number[1]
- Nome = data[0]
- Nome2 = self.produtotext.text()
- Quant2 = self.estoquetext.text()
- Valor2 = self.precocustotext.text()
- Preco2 = self.precovendatext.text()
- Forn2 = self.fornecedorcomboBox.currentText()
- self.banco.execute(f"UPDATE Produtos SET Nome='{Nome2}', Quant='{Quant2}', Valor='{Valor2}', Preco='{Preco2}', Forn='{Forn2}' WHERE Nome='{Nome}'")
- self.banco.commit()
- self.LoadDatabase()
- ########## Função de Deletar Produtos
- def deleteprod(self):
- self.banco = sqlite3.connect('Vendas.db')
- self.cursor = banco.cursor()
- query = "SELECT * FROM Produtos"
- result = self.banco.execute(query)
- for row_number in enumerate(result):
- if row_number[0] == self.listaprodutos.currentRow():
- data = row_number[1]
- Nome = data[0]
- self.banco.execute(f"DELETE FROM Produtos WHERE Nome='{Nome}'")
- self.banco.commit()
- self.LoadDatabase()
- # for row_number in enumerate(result):
- # if row_number[0] == self.listaprodutos.currentRow():
- # produto = self.produtotext.text()
- # estoque = self.estoquetext.text()
- # precocusto = self.precocustotext.text()
- # precovenda = self.precovendatext.text()
- # fornecedor = self.fornecedorcomboBox.currentText()
- # self.banco.execute("UPDATE FROM Produtos WHERE produto=? AND estoque=? AND precocusto=? AND precovenda=? AND fornecedor=?",(produto, estoque, precocusto, precovenda, fornecedor))
- # self.banco.commit()
- # self.LoadDatabase()
- # banco.close()
- def retranslateUi(self, MainWindow):
- _translate = QtCore.QCoreApplication.translate
- MainWindow.setWindowTitle(_translate("MainWindow", "Produtos"))
- self.labelestoque.setText(_translate("MainWindow", "Estoque:"))
- self.label.setText(_translate("MainWindow", "PRODUTOS"))
- self.editarprodutoButton.setText(_translate("MainWindow", "Editar Produto"))
- self.deletarprodutoButton.setText(_translate("MainWindow", "Deletar Produto"))
- self.labelprecovenda.setText(_translate("MainWindow", "Preço Venda:"))
- self.labelproduto.setText(_translate("MainWindow", "Produto:"))
- self.labelprecocusto.setText(_translate("MainWindow", "Preço Custo:"))
- self.novoprodutoButton.setText(_translate("MainWindow", "Novo Produto"))
- self.labelfornecedor.setText(_translate("MainWindow", "Fornecedor:"))
- item = self.listaprodutos.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Produto"))
- item = self.listaprodutos.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Estoque"))
- item = self.listaprodutos.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Preço Custo"))
- item = self.listaprodutos.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Preço Venda"))
- item = self.listaprodutos.horizontalHeaderItem(4)
- item.setText(_translate("MainWindow", "Fornecedor"))
- if __name__ == "__main__":
- import sys
- app = QtWidgets.QApplication(sys.argv)
- MainWindow = QtWidgets.QMainWindow()
- ui = Ui_MainWindow()
- ui.setupUi(MainWindow)
- MainWindow.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement