I want to fire QAbstractItemView::doubleClicked
slot programaticaly for an item that has specific text. I want to do this using QAbstractItemView
class and not it's implementations if possible.
This task boils down to looping over items and comparing strings. But I cannot find any method that would give me all QModelIndex
es. The only method that gives any QModelIndex
without parameters is QAbstractItemView::rootIndex
. But when I look into QModelIndex
docs, I again cannot see a way to access it's children and siblings.
So how to access all QModelIndex
es in QAbstractItemView
?
The indexes are provided by the model, not by the view. The view provides the
rootIndex()
to indicate what node in the model it considers as root; it might be an invalid index. Otherwise it has nothing to do with the data. You have to traverse the model itself - you can get it fromview->model()
.Here's a depth-first walk through a model:
The functor
fun
gets invoked for every item in the model, starting at root and going in depth-row-column order.E.g.