Bonjour,

J'ai créer un programme qui permet de gérer une bibliothèque de vinyle (ajouter, modifier, supprimer un article).
Je souhaiterais créer une fonction qui puisse me permettre de rechercher dans ma bibliothèque tous les vinyles qui correspondent à un critère (exemple afficher tout les vinyles qui ont le même prix).
De pus, j'aimerais créer une fonction trier qui permet de classer mes vinyles dans l'ordre alphabétique par exemple.

Si vous avez des pistes à me donner je suis preneur.

Voici mon programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
from PyQt5.QtWidgets import *from PyQt5.uic import *
 
 
class SampleOfListWidget(QWidget):
 
    def __init__(self):        
        super(SampleOfListWidget, self).__init__()
        loadUi('sampleOfListWidget.ui', self)
 
        self.btnClear.clicked.connect(self.effacer_texte)
        self.btnAdd.clicked.connect(self.ajouter_vinyle)
        self.btnUpdate.clicked.connect(self.modifier_vinyle)
        self.btnDeleteLast.clicked.connect(self.supprimer_dernier)
        self.btnDeleteSelected.clicked.connect(self.supprimer_la_selection)
        self.btnDeleteAll.clicked.connect(self.supprimer_tout)
 
    def effacer_texte(self):
        self.edtTitre.setText('')
        self.edtAuteur.setText('')
        self.edtAnnee.setText('')
        self.edtNbredetour.setText('')
        self.edtPrix.setText('')
 
    def ajouter_vinyle(self):
        titre = self.edtTitre.text()
        auteur = self.edtAuteur.text()
        annee = self.edtAnnee.text()
        nbredetour = self.edtNbredetour.text()
        prix = self.edtPrix.text()
 
        item = QListWidgetItem( titre + ' ' + auteur + ' ' + annee + ' ' + nbredetour + ' ' + prix)
        self.listWidget.addItem(item)  
 
    def modifier_vinyle(self):
        row = self.listWidget.currentRow()
        item = self.listWidget.item(row)
        if item is not None:
            title = "Update"
            string, ok = QInputDialog.getText(self, title, title, QLineEdit.Normal, item.text())
            if ok and string is not None:
                item.setText(string)         
 
    def supprimer_dernier(self):
         if self.listWidget.count() > 0:
            self.listWidget.takeItem(self.listWidget.count()-1)
 
    def supprimer_la_selection(self):
         if self.listWidget.count() > 0:
            self.listWidget.takeItem(self.listWidget.count()-1)
 
 
    def supprimer_tout(self):
        self.listWidget.clear()
 
 
if __name__ == '__main__':
    app = QApplication([])
    s = SampleOfListWidget()
    s.show()
    app.exec_()