Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt5 import uic, QtWidgets, QtGui, QtCore, Qt
- from PyQt5.QtGui import QStandardItemModel, QStandardItem
- from PyQt5.QtWidgets import QComboBox, QVBoxLayout, QTableWidgetItem, QDateEdit, QStyledItemDelegate,QItemDelegate, QAbstractItemView, QWidget, QApplication
- from PyQt5.QtCore import QDate, QTime, Qt, QDateTime, QSortFilterProxyModel
- from PyQt5.QtCore import pyqtSlot
- import sys
- import sqlite3
- import datetime
- from datetime import datetime, date, timedelta
- import sys
- class combobox(QComboBox):
- def __init__(self, parent):
- super().__init__(parent)
- #self.setStyleSheet('font-size: 25px')
- self.addItems(['Débito', 'Crédito'])
- self.currentIndexChanged.connect(self.getComboValue)
- def getComboValue(self):
- print(self.currentText())
- return self.currentText()
- class App(QWidget):
- def __init__(self):
- super().__init__()
- self.tela = uic.loadUi('gui.ui', self)
- self.setWindowTitle('----BUDGET---- rev0.1')
- self.listar.clicked.connect(Listar.tela)
- self.update.clicked.connect(update)
- self.btn_inserir.clicked.connect(insert)
- tipodb = []
- dates = []
- crebito = ['Débito', 'Crédito']
- banco = sqlite3.connect(database='budget1.db')
- cursor = banco.cursor()
- cursortipo = banco.cursor()
- cursordate = banco.cursor()
- cursor.execute("SELECT * FROM b1")
- cursortipo.execute("SELECT tipo FROM b1")
- cursordate.execute("SELECT date FROM b1")
- dados_lidos = cursor.fetchall()
- dados_tipo = cursortipo.fetchall()
- dados_date = cursordate.fetchall()
- self.filter_proxy_model = QSortFilterProxyModel()
- i = len(dados_lidos)
- self.model = QStandardItemModel(i, 6)
- #self.model.setHorizontalHeaderLabels(['ID', 'Data', 'Descrição', 'Valor', 'Tipo'])
- for rows in range(0, len(dados_lidos)):
- tipodb.append(dados_tipo[rows][0])
- dates.append(dados_date[rows][0])
- for columns in range(0, 5):
- item = QStandardItem(str(dados_lidos[rows][columns]))
- self.model.setItem(rows, columns, item)
- self.filter_proxy_model.setSourceModel(self.model)
- self.filter_proxy_model.setFilterCaseSensitivity(Qt.CaseInsensitive)
- self.filter_proxy_model.setFilterKeyColumn(-1)
- self.tela.searchBox.textChanged.connect(self.filter_proxy_model.setFilterRegExp)
- self.tela.janelao.setModel(self.filter_proxy_model)
- self.tela.janelao.setColumnWidth(0, 30)
- self.tela.janelao.setColumnWidth(1, 82)
- self.tela.janelao.setColumnWidth(2, 180)
- self.tela.janelao.setColumnWidth(3, 40)
- self.tela.janelao.setColumnWidth(4, 63)
- for row in range(len(dados_lidos)):
- combo = combobox(self)
- index_combo = self.tela.janelao.model().index(row, 5)
- self.tela.janelao.setIndexWidget(index_combo, combo)
- combo.setCurrentText(tipodb[row])
- dateedit = QtWidgets.QDateEdit(calendarPopup=True)
- date = dates[row]
- date = datetime.strptime(date, '%Y-%m-%d').date()
- converted = QDate(date.year, date.month, date.day)
- dateedit.setDate(converted)
- index_date = self.tela.janelao.model().index(row, 1)
- self.tela.janelao.setIndexWidget(index_date, dateedit)
- class Listar(App):
- def __init__(self):
- App.__init__(self)
- pass
- def tela(self):
- banco = sqlite3.connect(database='budget1.db')
- cursor = banco.cursor()
- cursor.execute("SELECT * FROM b1")
- dados_lidos = cursor.fetchall()
- m = App()
- m.model.setHorizontalHeaderLabels(['ID', 'Data', 'Descrição', 'Valor', 'Tipo'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement