use*_*635 0 c++ qt qfilesystemmodel
我正在尝试在QFileSystemModel中显示带扩展的文件*.txt和其他类型的阴影/灰色:
proxy_ 是QSortFilterProxyModel类型
model_ 是QFileSystemModel类型
这是我的代码:
proxy_->setFilterWildcard("*.txt");
proxy_->setSourceModel(model_);
model_->setNameFilters(QStringList(proxy_->filterRegExp().pattern()));
model_->setNameFilterDisables(true);
sel_model_ = (new QItemSelectionModel(proxy_));
treeView->setModel(proxy_);
treeView->setSelectionModel(sel_model_);
Run Code Online (Sandbox Code Playgroud)
......但是通过这样做,我的观点中没有显示任何内容.谁知道我做错了什么?
您可以使用设置文件名过滤器QFileSystemModel::setNameFilters.
在下面的示例程序中.txt,文件夹正常显示,其他文件被禁用(灰色).
该nameFilterDisables属性允许您选择被禁用或隐藏的已过滤文件.
#include <QtGui>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QFileSystemModel model;
model.setRootPath(QDir::rootPath());
QStringList filters;
filters << "*.txt";
model.setNameFilters(filters);
QTreeView view;
view.setModel(&model);
view.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3199 次 |
| 最近记录: |