我有QStandardItemModel并且数据表示为列表
model = QtGui.QStandardItemModel(0, 2)
myrow = [1, "B"]
我如何添加行的第一个解决方案是使用函数setData()
model.insertRow(0)
for i,item in enumerate(myrow):
model.setData(model.index(0, i), item)
但它非常慢,我已经有 500 行的性能问题,需要 1 秒。
比我尝试一次添加整行。
model.insertRow(0, [QtGui.QStandardItem(item) for item in myrow ])
它更快,但它不能正常工作。
print "setData() 2.row - ",model.data(model.index(1,0)).toInt()
print "insertRow() 1.row - ",model.data(model.index(0,0)).toInt()
我得到不同的输出。
setData() 2.row - (1, True)
insertRow() 1.row - (0, False)
任何想法为什么?有没有其他方法可以将整行添加到模型中?