我一直在研究本地目录的简单QTreeView。目的是允许用户浏览到他/她的目录并选择正确的csv文件。

我创建了一个QFileSystemModel并用QTreeView显示它。我很困惑如何从当前选定的节点获取文件名。

我通读了文档,发现以下信号/插槽配对:

connect(tree, SIGNAL(clicked(QModelIndex)), this, SLOT(handleTreeWidgetEvent(QModelIndex)));

但是我不确定一旦激活QModelIndex怎么办。我知道您可以使用此索引对QTreeView进行索引,但是我不确定如何。

任何帮助是极大的赞赏。



编辑:添加代码,以便人们可以看到我在做什么。

QFileSystemModel *model = new QFileSystemModel;
model->setRootPath("/");

tree = new QTreeView;
tree->setModel(model);

tree->setRootIndex(model->index("/home/Missions/"));
tree->setColumnWidth(0, 350);
connect(tree, SIGNAL(clicked(QModelIndex)), this, SLOT(handleTreeWidgetEvent(QModelIndex)));

最佳答案

WhatEverClassInheritingQObject::handleTreeWidgetEvent(const QModelIndex& index)
{
   const QString valuablePathAskedFor(fileSystemModel->fileName(index));
   ...
}

关于c++ - 如何从QTreeView返回节点名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18935701/

10-09 04:01