QTreeView根据QModelIndex获取选中的项
时间: 2024-11-09 13:21:39 浏览: 23
QTreeView详解
在QTreeView中,当你有一个QModelIndex表示选中的节点时,可以通过它来获取选定的项。QModelIndex是Qt中用于表示树形视图内项目的引用。以下是获取选中项的基本步骤:
```cpp
QTreeView *treeView = ...; // 获取你的QTreeView实例
const QModelIndex& selectedIndex = treeView->currentIndex(); // 当前选中的项的索引
// 检查是否真的有选中项
if (!selectedIndex.isValid()) {
qDebug() << "没有选中的项";
} else {
// 获得选中项的信息
QVariant data = selectedIndex.data(); // 数据内容,取决于你设置的数据类型
QString itemText = selectedIndex.model()->data(selectedIndex, Qt::DisplayRole).toString(); // 文本信息
qDebug() << "选中项的文本:" << itemText;
qDebug() << "选中项的数据:" << data.value<QString>(); // 如果数据是QString类型
}
```
在这里,`Qt::DisplayRole`通常是用来获取用户界面显示的文字信息,而具体的`data()`类型取决于你在模型中如何设置的。
阅读全文