def __init__(self): QtGui.QWidget.__init__(self) self.ui = Ui_FormExibirCaixa() self.ui.setupUi(self) self.atribuirDatasSugeridas() self.setSqlColumnsSize() self.ui.btMostrarDetalhes_2.hide() # preenche a tabela self.setHeader() self.showData()
class ExibirCX(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.ui = Ui_FormExibirCaixa() self.ui.setupUi(self) self.atribuirDatasSugeridas() self.setSqlColumnsSize() self.ui.btMostrarDetalhes_2.hide() # preenche a tabela self.setHeader() self.showData() def atribuirDatasSugeridas(self): hoje = datetime.datetime.now() self.ui.dateEdit_Inicial.setDate(QDate( hoje.year, hoje.month - 1, hoje.day)) self.ui.dateEdit_Final.setDate(QDate(datetime.datetime.now())) def setSqlColumnsSize(self): Session = sessionmaker(bind=engine) self.session = Session() self.dbDataCaixa = self.session.query(Caixa).all() self.ui.tableWidget_Caixa.setRowCount(len(self.dbDataCaixa)) try: self.ui.tableWidget_Caixa.setColumnCount( len(self.dbDataCaixa[0].__table__.columns) - 1) # except: mostrarMessageBox("Erro", u"Não há registros para exibir") def gerarRelatorio(self): [todasCelulasEstaoVazias, dadosDaTabela] = getAllTableData( self.ui.tableWidget_Caixa) if (todasCelulasEstaoVazias is False): r = Relatorio(dados=dadosDaTabela) caminho = find_data_file("famotica.py") mostrarMessageBox(u"Relatório", u"O relatório se encontrará na área de trabalho.\n") r.gerarRelatorio() else: mostrarMessageBox( "Erro", u"O filtro escolhido não exibe dados, por favor escolha outro filtro.") pass def mostrarDetalhes(self): print("mostrarDetalhes()") pass def atualizarExibicaoCX(self): ''' Atualiza o widget responsavel por exibir a movimentacao de caixa. Essa funcao e' invocada pela editingFinished() dos DOIS q-date-edit-s ''' if sys.platform == "win32": dataInicial = datetime.datetime.strptime( self.ui.dateEdit_Inicial.text(), "%d/%m/%Y") dataFinal = datetime.datetime.strptime( self.ui.dateEdit_Final.text(), "%d/%m/%Y") else: dataInicial = datetime.datetime.strptime( self.ui.dateEdit_Inicial.text(), "%d/%m/%y") dataFinal = datetime.datetime.strptime( self.ui.dateEdit_Final.text(), "%d/%m/%y") # chama query caixa self.queryCAIXA(dataInicial, dataFinal) atualizarSomatorioPrecos(self.ui.tableWidget_Caixa, self.ui.lbTot) def setHeader(self): try: self.header = [] self.bigHeader = [] for col in self.dbDataCaixa[0].__table__.columns: # if col.name not in "id": self.header.append(col.name) self.bigHeader.append(col.name.capitalize()) self.ui.tableWidget_Caixa.setHorizontalHeaderLabels(self.bigHeader[0:6]) except Exception as e: enviaEmail(e.message) def showData(self): seta_locale(True) for row, caixa in enumerate(self.dbDataCaixa): di = row2dict(caixa) for index, item in enumerate(self.header[0:6]): # < header novaCel = QtGui.QTableWidgetItem(str(di[item])) # if(index == 0): naoPermitirAlteracoes(novaCel) self.ui.tableWidget_Caixa.setItem(row, index, novaCel) atualizarSomatorioPrecos(self.ui.tableWidget_Caixa, self.ui.lbTot) def queryCAIXA(self, dataInicial, dataFinal): seta_locale(True) caixa = self.session.query(Caixa).filter( Caixa.data.between(dataInicial, dataFinal)).all() self.ui.tableWidget_Caixa.setRowCount(len(caixa)) # Insere os dados da tabela no tableWidget for row, itemCaixa in enumerate(caixa): di = row2dict(itemCaixa) for index, item in enumerate(self.header): novaCel = QtGui.QTableWidgetItem(str(di[item])) # if(index == 0): naoPermitirAlteracoes(novaCel) self.ui.tableWidget_Caixa.setItem( row, index, QtGui.QTableWidgetItem(novaCel))