c++ - 如何从 QTreeView 返回节点名称

标签 c++ qt

我一直在研究本地目录的简单 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/

相关文章:

c++ - 使用 Qt 安装程序框架创建 .msi 安装程序

c++ - C++ 中的详细文件 IO 错误报告

c++ - 更新链表时遇到问题

qt - QGridLayout 坐标系

python - 登录对话框 PyQt

c++ - Boost::ASIO VS Qt 网络

c++ - 严重错误C1083

c++ - 二维数组作为类的实例变量

c++ - Qt Ros 工作区中的 QVTKWidget 问题

c++ - QVector.push_back 错误