2017-02-14 10 views
0

Я использую следующий код для создания QStringList имен файлов:QFileDialog: Выбор каталоги и файлы

QStringList filenames = QFileDialog::getOpenFileNames(this,"",QDir::currentPath()); 

Как я могу изменить это, так что я могу выбрать каталоги, а?

Я посмотрел на:

 dialog.setFileMode(QFileDialog::AnyFile); 

, но я не понимаю, как использовать его с моим кодом.

+0

Я гугле и нашел [это] (http://www.qtcentre.org/threads/43841-QFileDialog-to-select-files-AND-folders), не правда ли рабочий раствор? – Steeve

+0

Спасибо, это работает. – Alan

ответ

0

Этот фрагмент кода, связанный в комментарии выше, решает мою проблему.

QFileDialog* _f_dlg = new QFileDialog(this); 
    _f_dlg->setFileMode(QFileDialog::Directory); 
    _f_dlg->setOption(QFileDialog::DontUseNativeDialog, true); 

    // Try to select multiple files and directories at the same time in QFileDialog 
    QListView *l = _f_dlg->findChild<QListView*>("listView"); 
    if (l) { 
    l->setSelectionMode(QAbstractItemView::MultiSelection); 
    } 
    QTreeView *t = _f_dlg->findChild<QTreeView*>(); 
    if (t) { 
    t->setSelectionMode(QAbstractItemView::MultiSelection); 
    } 

    int nMode = _f_dlg->exec(); 
    QStringList _fnames = _f_dlg->selectedFiles(); 

 Смежные вопросы

  • Нет связанных вопросов^_^