私はQTreeviewsに取り組んでいます.Oneにはすべてのドライブがあります。もう 1 つは、それらのドライブに対応するすべてのファイルとフォルダーを表示します。特定のファイルにフィルタを適用しました。したがって、これらの特定のフィルター形式を持つすべてのフォルダーと、フィルターされたファイルを持たないフォルダーが空のフォルダーとして表示されます。今私の問題は、フィルター処理されたファイルを持たないフォルダーを表示したくないということです。私はこれを使用しています:
QFileSystemModel *fileSystemModel = new QFileSystemModel(this);
fileSystemModel->setRootPath(path);
QStringList filters;
filters <<"*.jpeg" <<"*.pict" <<"*.PICT" <<"*.xpm" <<"*.xbm" <<"*.ppm" <<"*.pbm" <<"*.pgm" <<"*.XBM" <<"*.XPM" <<"*.PPM" <<"*.PBM" <<"*.PGM" <<"*.png" <<"*.psd" <<"*.bmp"<<"*.jp2" <<"*.tiff" <<"*.gif" <<"*.tga" <<"*.jpg" <<"*.JPG" <<"*.JPEG" <<"*.BMP" <<"*.JP2"<<"*.PSD" <<"*.PNG" <<"*.TIFF" <<"*.GIF" <<"*.TGA" ;
fileSystemModel->setNameFilters(filters);
fileSystemModel->setNameFilterDisables(0);
fileSystemModel->setSupportedDragActions(Qt::CopyAction);
fileSystemModel->fetchMore(fileSystemModel->index(path));
ui->treeView_2->setModel(fileSystemModel);
ui->treeView_2->setRootIndex(fileSystemModel->index(path));
ui->treeView_2->setColumnWidth(0,300);
誰でも私を助けてくれませんか。ありがとう。