Я не могу найти никакого способа получить размер, глубину и количество ветвей QTreeView.
Я имею в виду не размер его графического представления, а размер данных, хранящихся в дереве.
Как я могу получить размер/глубину/ветки QTreeView?
Ответы (1)
Вам следует работать с моделью данных, а не с представлением.
Чтобы получить количество корневых ветвей, вы должны использовать метод rowColumn(QModelIndex()).
Чтобы получить глубину любого индекса (элемента), вы должны выбрать родительский индекс, пока он не останется действительным. Псевдокод:
QModelIndex index = /*your item*/;
int depth = 0;
while ( index.parent().isValid() )
{
index = index.parent();
depth++;
}
qDebug() << depth;
Непонятно, что вы подразумеваете под "размером" предмета? Это длина текстовых данных? Вы должны понимать, что это зависит от вашей реализации модели данных. Поскольку у каждого элемента может быть много ролей. .
person
Dmitry Sazonov
schedule
03.10.2013