先留坑
http://stackoverflow.com/questions/21298124/qt5-display-dynamic-data-model-in-qml-tableview
http://stackoverflow.com/questions/19324641/qml-2-0-tableview-with-qabstractitemmodel-and-context-menu/19325036#19325036
http://stackoverflow.com/questions/18616497/how-to-use-models-with-qml/18622443#18622443
http://stackoverflow.com/questions/19296383/remove-rows-from-qabstractlistmodel/19302329#19302329
http://stackoverflow.com/questions/21270969/using-a-qabstracttablemodel-with-a-qml-tableview-only-displays-the-1st-column
http://doc.qt.io/qt-5/qtqml-cppintegration-contextproperties.html
http://stackoverflow.com/questions/30436829/why-using-qabstracttablemodel-instead-of-qabstractlistmodel
QAbstractItemModel 使用beginInsertRows()和endInsertRows()时,beginInsertRows()的起始和结束值全是有效值,也就是说只添加一行时就用
beginInsertRows(QModelIndex(),size,size);
// insert one row
endInsertRows();
更新某一行(非插入)
emit dataChanged(this->index(rowIdx,0), this->index(rowIdx,0)); // TableView会自动更新这一行