title: Dynamic Tree Model (Qt)
body: <p>I use a <code>QAbstractItemModel</code> to represent a tree model (of up to a few hounded items). The data itself is dynamic, at any time nodes may appear or disappear, values (or other roles) may change. </p>
  
  <p>Making changes to the model is easy; I am wondering how to efficiently emit the signals in order to notify a QTreeView of the changes (most of it's nodes are collapsed).</p>
  
  <p>At any given time multiple changes may occur simultaneously (row insertions and/or deletions).</p>
  
  <ol>
  <li>Using <code>beginInsertRows</code> / <code>endInsertRows</code> / <code>beginRemoveRows</code> / <code>endRemoveRows</code> - shouldn't there be a method to notify the view of multiple changes?</li>
  <li>In terms of performance, what would be the best strategy? For example, starting at the leaves and going up to the root / for each node - bottom to top (vs top to botton) / deletions before insertions / etc.</li>
  <li>Would <code>beginResetModel</code> / <code>endResetModel</code> necessarily be less efficient? </li>
  <li>Is there any advantage for using <code>QStandardItemModel</code>? (for this specific case).</li>
  </ol>