Bonjour,
Dans mon interface j'ai 2 combobox (liste déroulante) qui récupère des données à partir d'un fichier CSV.
La 1e combobox récupère la marque des voitures et à partir du choix fait par l'utilisateur, la 2e combobox récupère les modèles de voiture correspondant à la marque.
Mon souci est que pour certaines marques, il n'affiche pas les modèles.
Voici mon code :
Pour certains noms de marques, il me dit que c'est un 'None Type' alors que pour celles qui marchent c'est du str
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 def choixMarque(self): liste1=[] # liste contenant les marques de dumper liste2=[] # liste intermédiaire # Ouvrir le fichier csv contenant les infos sur les dumpers with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f: reader = csv.reader(f, delimiter = ';') for row in reader: liste1.append(row[0]) # récupérer les marques dans une liste for d in liste1: if not d in liste2: liste2.append(d) print(type(d)) ui.marque.addItem(d) # rajouter la marque dans la combobox ui.marque.currentIndexChanged.connect(p.modele) # remplir la liste des modèles en fonction de la marque def modele(self): ui.modele.clear() # vider la combobox pour éviter les doublons indexMarque = ui.dumperMarque.currentIndex() nomMarque = ui.marque.currentData(indexMarque) # récup le nom de la marque choisie with open(r"D:/Moi/Projet/Voitures.csv", newline='') as f: reader = csv.reader(f, delimiter = ';') for row in reader: if row[0] == nomMarque: ui.modele.addItem(row[1]) # mettre modele dans combobox
Je pense que le problème vient de là mais lorsque je récupère les noms de marque dans la 1e fonction elles sont toutes au format str, ce n'est que dans la 2e fonction où ça change..
Partager