8

私は次のようにQDirModelでQTreeViewを使用しています:

QDirModel * model = new QDirModel;
ui->treeView->setModel(model);
ui->treeView->setSelectionMode(QTreeView::ExtendedSelection);
ui->treeView->setSelectionBehavior(QTreeView::SelectRows);

これは正常に機能しますが、選択したファイルの詳細を取得する方法がわかりません。私はこれまでにこれを持っています:

QModelIndexList list = ui->treeView->selectionModel()->selectedIndexes();

しかし、今何をすべきかわからないので、各ファイルの名前とフルパスを取得したいと思います。例は本当に素晴らしいでしょう。ありがとうございました。

4

1 に答える 1

8

QDirModelのfileInfoメソッドを使用して、次のように、指定されたモデルインデックスオブジェクトのファイルの詳細を取得できます。

QModelIndexList list = ui->treeView->selectionModel()->selectedIndexes();
QDirModel* model = (QDirModel*)ui->treeView->model();
int row = -1;
foreach (QModelIndex index, list)
{
    if (index.row()!=row && index.column()==0)
    {
        QFileInfo fileInfo = model->fileInfo(index);
        qDebug() << fileInfo.fileName() << '\n';
        row = index.row();
    }
}

これがお役に立てば幸いです

于 2009-12-28T14:24:49.333 に答える