def selection(self): row = self.table.currentItem().row() col = self.table.currentItem().column() item1 = self.table.item(row,5).text() item2 = self.table.item(row,3).text() self.fen = GuiRetourJeu(self.table,str(item1),str(item2)) self.fen.show()
class GuiEmprunt(QWidget): def __init__(self): super(GuiEmprunt, self).__init__() self.initUI() def initUI(self): self.table = QTableWidget() VLayout = QVBoxLayout() VLayout.addWidget(self.table) self.setLayout(VLayout) RechercheLayout = QHBoxLayout() self.RechercheText = QLineEdit() RechercheButton = QPushButton("Rechercher") # Auto refresh recherche self.RechercheText.textEdited.connect(self.rechercheEmprunt) # Ajout des widgets au layout de recherche RechercheLayout.addWidget(self.RechercheText) RechercheLayout.addWidget(RechercheButton) # Ajout du layout de recherche au layout principal VLayout.addLayout(RechercheLayout) self.table.setSortingEnabled(True) self.table.setColumnCount(6) self.setFieldName() self.setData() self.table.setSelectionMode(self.table.NoSelection) self.table.setEditTriggers(QAbstractItemView.NoEditTriggers) self.table.verticalHeader().hide() self.table.setAlternatingRowColors(True) self.table.setShowGrid(True) self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.table.horizontalHeader().setStretchLastSection(True) self.table.cellDoubleClicked.connect(self.selection) def setFieldName(self): fields = ('ID','Date d\'emprunt','Date de retour','Jeux','Extension','Adherent') self.table.fieldsColumn = (175, 175, 175, 175, 175, 175) # On ajoute les colonnes au tableau self.table.setHorizontalHeaderLabels(fields) for i, taille in enumerate(self.table.fieldsColumn): self.table.horizontalHeader().resizeSection(i, taille) def setData(self): ligne = 0 Emprunts = AfficherToutEmprunts() for Emprunt in Emprunts: row = self.table.rowCount() self.table.insertRow(row) Empruntd = str(Emprunt[1]).split('-') Empruntd = date(int(Empruntd[0]), int(Empruntd[1]), int(Empruntd[2])) Empruntf = str(Emprunt[2]).split('-') Empruntf = date(int(Empruntf[0]), int(Empruntf[1]), int(Empruntf[2])) jeu = SelectJeubyID(Emprunt[5]) ext = SelectNomJeu(Emprunt[6]) user = SelectAdherentbyID(Emprunt[4]) self.table.setItem(ligne, 0, QTableWidgetItem(str(Emprunt[0]))) self.table.setItem(ligne, 1, QTableWidgetItem(Empruntd.strftime("%d/%m/%Y"))) self.table.setItem(ligne, 2, QTableWidgetItem(Empruntf.strftime("%d/%m/%Y"))) self.table.setItem(ligne, 3, QTableWidgetItem(str(jeu[0]))) self.table.setItem(ligne, 4, QTableWidgetItem(str(ext))) self.table.setItem(ligne, 5, QTableWidgetItem(str(user))) ligne=ligne+1 def selection(self): row = self.table.currentItem().row() col = self.table.currentItem().column() item1 = self.table.item(row,5).text() item2 = self.table.item(row,3).text() self.fen = GuiRetourJeu(self.table,str(item1),str(item2)) self.fen.show() def recherche(self,keyword): ligne = 0 Emprunts = RechercherEmprunt(keyword+"%%%%%%%%%%%%%%%%") self.table.setRowCount(len(Emprunts)) for Emprunt in Emprunts: self.table.setItem(ligne, 0, QTableWidgetItem(str(Emprunt[0]))) self.table.setItem(ligne, 1, QTableWidgetItem(Emprunt[1].encode('utf-8'))) self.table.setItem(ligne, 2, QTableWidgetItem(str(Emprunt[2]))) self.table.setItem(ligne, 3, QTableWidgetItem(str(Emprunt[3].encode('utf-8')))) self.table.setItem(ligne, 4, QTableWidgetItem(str(Emprunt[4]))) self.table.setItem(ligne, 5, QTableWidgetItem(Emprunt[5])) ligne=ligne+1 def rechercheEmprunt(self): self.recherche(str(self.RechercheText.text()))