我想构建一个类似于QFileDialog::getExistingDirectory()的对话框,当所选目录包含某些文件时,只启用OK按钮。
我知道我无法通过QFileDialog实现此目标,相反,我必须提出自己的QDialog,QTreeView与QFileSystemModel相关联。
答案 0 :(得分:3)
以下是一个例子:
void slotDirectorySelected( const QModelIndex & index )
{
QFileInfo info = fileSystemModel->fileInfo( index );
QDir selectedDir = info.dir();
foreach( const QString entry, selectedDir.entryList() ) {
// do something with the entry
}
}