在CSV文件中添加组合框中的值

时间:2015-05-28 10:05:55

标签: python user-interface csv combobox pyqt

我有2个组合框从csv文件中获取它们的值。 启动GUI时,第一个组合框会自动获得汽车品牌的名称。 第二个组合框为所选品牌提供不同型号的汽车。

我遇到的问题是,这对所有品牌都不起作用。 对于其中一些人来说,Python告诉我他们是 NoneType ,而对于其他人(那些有效的)他们是 str 。 我不明白这是怎么可能的,因为我以相同的方式为所有条目编写了csv文件。

之前有没有发生过这种情况? 这是csv问题还是python问题?

(我使用的是PyQt5& Python 3.4)

这是我的代码:

def carSelect(self):
   list = []
   list2= []

   with open (r"D:/MyFile/cars.csv", newline='') as f:
   reader = csv.reader(f, delimiter=';')
   for row inr eader:
      list.append(row[0])

      for d in list:
        if not d in list2:
           list2.append(d)
           ui.carBrand.addItem(d)

   ui.carBrand.currentIndexChanged.connect(p.carModel)

def Model(self):
   ui.carModel.clear()

   index = ui.carBrand.currentIndex()
   name = ui.carBrand.currentData(index)
   with open (r"D:/MyFile/cars.csv", newline='') as f:
   reader = csv.reader(f, delimiter=';')
   for row in reader:
      if row[0] == name:
        ui.carModel.addItem(row[1])

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案!

currentData 我必须使用 currentText

感谢您的帮助。