【发布时间】:2019-09-29 02:01:56
【问题描述】:
有没有什么方法可以使用 setNameFilters 显示所有没有扩展名的文件?我知道如何处理具有多个扩展名的文件(例如下面示例中的 .txt),但我不知道如何检测没有扩展名的文件,而不是使用正则表达式,但是我需要一些东西像这样(如果我可以直接使用 setNameFilters 来避免这种情况):
QSortFilterProxyModel* filter = new QSortFilterProxyModel(model);
filter->setFilterRegExp(QRegExp("^([^.]+)$", Qt::CaseInsensitive));
这是示例代码:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
Filemodel = new QFileSystemModel(this);
Filemodel->setFilter( QDir::NoDotAndDotDot | QDir::Files );
QStringList filters;
filters << "*.txt";
Filemodel.setNameFilters(filters);
Filemodel.setNameFilterDisables(false);
ui->Filtered_tbView->setModel( Filemodel );
}
所以基本上在 setNameFilters 上我想添加一个条件以不考虑带有点的文件(我知道当我希望文件包含特定字符串时该怎么做 - 可以是扩展名 - 但不是什么时候我不想包含特定的字符串)。
【问题讨论】:
标签: qt qfilesystemmodel