model у вас локальная.
При выходе из конструктора она удаляется.
Порождайте её динамически:
QFileSystemModel* model = new QFileSystemModel();
model->setRootPath("");
ui->treeView->setModel(model);
Благодарю. Теперь работает.
Интересует еще один вопрос. Как при клике в дереве на файл получить его полное имя?
Я так понял это нужно обрабатывать в слоте:
C++ (Qt)
void MainWindow::on_treeView_clicked(const QModelIndex &index)
{
}
Но как получить полное имя файла по которому кликнул мышкой в дереве?
Пробовал такой вариант:
C++ (Qt)
void MainWindow::on_treeView_clicked(const QModelIndex &index)
{
QVariant variant = index.data();
QString name = variant.value<QString>();
QMessageBox *messageBox = new QMessageBox();
messageBox->setText(name);
messageBox->show();
}
Но так выводит только имя файла, а путь к нему не выводит.
Решено вот так:
C++ (Qt)
void MainWindow::on_treeView_clicked(const QModelIndex &index)
{
QString name = ((QFileSystemModel*)ui->treeView->model())->filePath(index);
QMessageBox *messageBox = new QMessageBox();
messageBox->setText(name);
messageBox->show();
}