更容易在QTreeView中找到QModelIndex的可见行
Easier way to find visible row of a QModelIndex in a QTreeView
是否有办法获得给定QModelIndex
的"视觉行" ?
假设我们有一棵树,有些节点展开了,有些没有。例如,选取部分展开的树并单击最后一项:
item1 # (visual) row 1
item2 # 2
item5 # 3
item7 # 4
item8 # 5 <-- click here
我想知道我点击的项目是在第5行,通过编程。QModelIndex
的行和列没有帮助,因为这里有层次结构。
如果所有行都具有相同的高度,则可以这样计算可视化行:
int visual_row(const QTreeView *tv, const QModelIndex &mi)
{
const QRect visualRect = tv->visualRect(mi);
if (visualRect.isValid())
return visualRect.y() / visualRect.height();
else
return -1; // invisible
}
相关文章:
- 从 QFileSystemModel 中的文件路径和文件名获取 QModelIndex
- QModelIndex 作为父级?
- 无法通过 QModelIndex 从 QTreeView 获取项目
- Qt QModelIndex::sibling return parent QModelIndex
- 重载的 QAbstractItemModel::flags 应该为无效的 QModelIndex 返回什么
- 如何从 QML 访问 QModelIndex 行
- QModelIndex to QJSValue
- Wrong QModelIndex on QTreeView using custom QSortFilterProxy
- QModelIndex::数据不工作
- QAbstractModel - 无法获取 QAbstractModelItem with getItem an QModelIndex
- 是否可以从列和行中获取QModelIndex
- 是否可以从QModelIndex获取Qpoint
- 在 QModelIndex 中存储两种不同的类型
- QmodelIndex和标头数据
- 在Model中查找新条目的QModelIndex
- Qt -获得一个没有视图的QModelIndex
- 更容易在QTreeView中找到QModelIndex的可见行
- 获取索引时qmodelindex的父参数
- 如何使用QModelIndex访问QStandardItemModel及其数据?
- 删除行时,QModelIndex无效