您可以通过以下方式计算完整的路径。首先,您需要跟踪鼠标点击 QTreeView
与连接 clicked()
向适当的插槽发出信号:
connect(treeview, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onItemClicked(const QModelIndex &));
在您的插槽中,您可以调用辅助功能,该功能将返回单击树节点的完整路径:
void TreeView::onItemClicked(const QModelIndex &index)
{
QString path = fullPath(index);
// ..
}
QString TreeView::fullPath(const QModelIndex &index)
{
QString path('/');
QModelIndex parent = index;
while (parent.isValid()) {
path.prepend('/' + parent.data().toString());
parent = parent.parent();
}
return path;
}