如何获取 QTreeView 的大小/深度/分支?
Posted
技术标签:
【中文标题】如何获取 QTreeView 的大小/深度/分支?【英文标题】:How can I get the size/depth/branches of a QTreeView? 【发布时间】:2013-10-03 11:21:34 【问题描述】:我找不到任何方法来获取 QTreeView 的大小、深度和分支数。 我不是指其图形表示的大小,而是存储在树中的数据的大小。
【问题讨论】:
【参考方案1】:您应该使用data model,而不是视图。
要获取根分支的数量,您应该使用 rowColumn( QModelIndex() ) 方法。
要获得任何索引(项目)的深度,您应该选择父索引,直到它保持有效。伪代码:
QModelIndex index = /*your item*/;
int depth = 0;
while ( index.parent().isValid() )
index = index.parent();
depth++;
qDebug() << depth;
不清楚,您所说的项目的“大小”是什么意思?它是文本数据的长度吗?您应该明白,这取决于您对数据模型的实现。因为每个项目可能有很多roles。
【讨论】:
以上是关于如何获取 QTreeView 的大小/深度/分支?的主要内容,如果未能解决你的问题,请参考以下文章
如何调整 QTreeView 和 QStandardItemModel 中的行大小?
QProxyStyle 将 QTreeView 标头与分支对齐