Добавление строки в QStandardItemModel
У меня есть 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)
Любая идея почему? Есть ли другой способ, как добавить целый ряд в модель?