http://harmattan-dev.nokia.com/docs/library/html/qt4/itemviews-addressbook.html
class MyModel : public QAbstractTableModel {
Q_OBJECT
public:
QList<QPair<string, int> > data_;
....
怎麼行動態添加到模型編寫一個簡單的TableView? data_.insert(..)不會改變的觀點,目前我寫一個函數來添加新行:
void my_append_data(const string& first, int second) {
int row = rowCount(QModelIndex());
insertRow(row); // insert a empty row
// fill the row
setData(createIndex(row, 0), QVariant::fromValue<string>(first), Qt::EditRole);
setData(createIndex(row, 1), QVariant::fromValue<int>(second), Qt::EditRole);
}
// usage
model.my_append_data("11111", 111);
model.my_append_data("22222", 222);
這似乎效率不高的原因使用setData調用兩次當追加一排,因爲這裏有兩種專欄,未來可能會有更多專欄。
任何更好的方式來追加行?
謝謝。
這很好,謝謝克里斯。 – aj3423
我不明白爲什麼這段代碼比有問題的代碼更好,我會說它更糟糕。海事組織我的答案好多了。 –