Получить путь к файлу из виджета QListView в Qt - PullRequest
0 голосов
/ 18 июня 2020

У меня есть QTreeView, который показывает содержимое файловой системы в виде дерева. Я могу выбрать папку, и ее содержимое отобразится в виджете QListView. Теперь у меня есть несколько кнопок, таких как копирование, вырезание, вставка и т. Д. Я хотел знать, как я могу получить путь к файлу из QListView. Это функции, которые обрабатывают виджеты QTreeView и QListView.

void MainWindow::ListDirectory(QString arg_smb_path)
{
    o_directorySystemModel = new QFileSystemModel(this);
    o_directorySystemModel->setFilter(QDir::NoDotAndDotDot | QDir::AllDirs);
    o_directorySystemModel->setRootPath(arg_smb_path);

    ui->treeView->setModel(o_directorySystemModel);
    ui->treeView->hideColumn(1);
    ui->treeView->hideColumn(2);
    ui->treeView->hideColumn(3);


    o_fileSystemModel = new QFileSystemModel(this);
    o_fileSystemModel->setFilter(QDir::NoDotAndDotDot | QDir::Files);
    o_fileSystemModel->setRootPath(arg_smb_path);

    ui->listView->setModel(o_fileSystemModel);
    ui->listView->setContextMenuPolicy(Qt::CustomContextMenu);
    connect(ui->listView, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&)));
}

void MainWindow::on_treeView_clicked(const QModelIndex &index)
{
    QString Path = o_directorySystemModel->fileInfo(index).absoluteFilePath();
    ui->listView->setRootIndex(o_fileSystemModel->setRootPath(Path));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...