from PyQt5.QtWidgets import QTableWidget, QTableWidgetItem from core.repositories import TrackRepository class PlaylistTable(QTableWidget): def __init__(self, parent): super(QTableWidget, self).__init__(parent) self.playlist = None self.count = -1 def populate(self, playlist): self.playlist = playlist track_repo = TrackRepository() self.clear() self.hideColumn(0) tracks = track_repo.get_by_session_id(playlist.id) if not tracks: self.insertRow(0) self.setItem(0, 1, QTableWidgetItem("(la liste est vide, ajoutez y vos morceaux)")) return i = 0 for track in tracks: self.insertRow(i) item = QTableWidgetItem() item.setData(0, track.id) self.setItem(i, 0, item) self.setItem(i, 1, QTableWidgetItem(track.title)) i += 1 self.count = i def clear(self): while self.rowCount(): self.removeRow(0) super().clear()