Как открыть файл и каталог в QT

Я хочу открыть каталог и файл, используя ту же функцию. Можно ли сделать то же самое в QT. я использовал

QString directory = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
      "",
     QFileDialog::ShowDirsOnly
     | QFileDialog::DontResolveSymlinks);

Здесь я могу открыть только каталог. Как открыть файл и каталог с помощью одной функции


person Sijith    schedule 31.03.2010    source источник
comment
Возможно, вам следует принять один из ответов или расширить свой вопрос, если ни один из ответов не подходит.   -  person jilles de wit    schedule 19.04.2010


Ответы (2)


Ну, я не думаю, что QFileDialog может справиться с этой задачей... Может быть, вы можете использовать QDirModel. Это должно помочь... Нажав кнопку "Обзор" или что-то в этом роде, вы открываете виджет с QTreeView, используя QDirModel, там вы можете взять выбранный элемент и его путь в качестве вашего файла/каталога. Для получения дополнительной информации см. документацию и пример Dir View в Qt Assistant.

EDIT: рекомендуется использовать QFileSystemModel. вместо QDirModel. Спасибо Патрис за совет.

person Exa    schedule 31.03.2010
comment
QDirModel больше нельзя использовать, как указано в документации: doc.trolltech.com/4.6/ qdirmodel.html#details - person Patrice Bernassola; 31.03.2010

Вы должны использовать функцию getOpenFileName для получения файлов и ://doc.trolltech.com/4.6/qfiledialog.html#getExistingDirectory" rel="nofollow noreferrer">getExistingDirectory для получения каталогов. Вы не можете использовать уникальную функцию из класса QFileDialog, чтобы делать то и другое одновременно.

Вы должны сделать это самостоятельно:

person Patrice Bernassola    schedule 31.03.2010