QFileDialog提供了一个函数---setproxyModel。。就是用这个来玩了。就是override filterAcceptsRow的虚函数,里面定制自己的过滤需求。返回bool   下面就是判断是否是目录,只显示目录文件夹。

#ifndef PROXY_MODEL_H

#define PROXY_MODEL_H

#include

class FileFilterProxyModel : public QSortFilterProxyModel

{

public:

FileFilterProxyModel(QObject* parent) :QSortFilterProxyModel(parent){}

protected:

virtual bool filterAcceptsRow(int source_row, const QModelIndex& source_parent) const;

};

#endif

#include "proxymodel.h"

#include

#include

bool FileFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const

{

QModelIndex index0 = sourceModel()->index(sourceRow, 0, sourceParent);

QFileSystemModel* fileModel = qobject_cast(sourceModel());

if (fileModel != NULL && fileModel->isDir(index0))

{

qDebug() << fileModel->fileName(index0);

return true;

}

else

return false;

// uncomment to execute default implementation

//return QSortFilterProxyModel::filterAcceptsRow(sourceRow, sourceParent);

}

QFileDialog dialog;

FileFilterProxyModel* proxyModel = new FileFilterProxyModel();

dialog.setOption(QFileDialog::DontUseNativeDialog);

dialog.setProxyModel(proxyModel);

dialog.exec();

references:

http://stackoverflow.com/questions/4893122/filtering-in-qfiledialog

http://stackoverflow.com/questions/2101100/qfiledialog-filtering-folders

java学习笔记(2):获取文件名和自定义文件过滤器

//自定义文件过滤器import java.io.File; import javax.swing.filechooser.*; public class JavaChooser extends Fi ...

自定义cas客户端核心过滤器AuthenticationFilter

关于cas客户端的基本配置这里就不多说了,不清楚的可以参考上一篇博文:配置简单cas客户端.这里是关于cas客户端实现动态配置认证需要开发说明. 往往业务系统中有些模块或功能是可以不需要登录就可以访问 ...

java文件操作和文件过滤器

文件操作 java提供了File类来供我们操作文件,FIle是文件或文件夹的抽象表示,也就是对象表示.总结了几个常用的方法 File(File parenrt,String child).FIle(S ...

C&num;文件过滤器filter---转载

C#文件过滤器filter OpenFileDialog对话框的Filter属性说明: 首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成 ...

&lpar;Unity&rpar;Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目 ...

Delphi 7使用自定义图标关联文件类型

Delphi 7使用自定义图标关联文件类型 5.2 Delphi编程(40)  版权声明:本文为博主原创文章,未经博主允许不得转载. 在开发过程中,我们经常需要属于自己的文件类型,自定义的后缀名不仅可 ...

Java自定义日志输出文件

Java自定义日志输出文件 日志的打印,在程序中是必不可少的,如果需要将不同的日志打印到不同的地方,则需要定义不同的Appender,然后定义每一个Appender的日志级别.打印形式和日志的输出路径 ...

在SSIS中使用自定义的DLL文件

原文:在SSIS中使用自定义的DLL文件 步骤1.开发dll(需要签名) using System;using System.Collections.Generic;using System.Text ...

随机推荐

JS原型的问题Object和Function到底是什么关系

var F = function(){}; Objcert.prototype.a = function(){}; Function.prototype.b = function(){}; F 既能访 ...

Map的简单语法

package jaxpsax; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; i ...

如何保存CONSOLE LOG

很早以前就想过问题,但因为我们一直有自动化程序去做,所以没仔细研究.   今天学习了一下,其实很简单,在sdsf.da 里面搜索master会看到下面这样一个TASK *MASTER* STC0000 ...

HXOI 2014 PSet 4 Day 1 一模04日1 题解

1. 最小花费(money.pas/c/cpp) 问题描述 在n个人中,某些人的银行账号之间可以互相转账.这些人之间转账的手续费各不相同.给定这些人之间转账时需要从转账金额里扣除百分之几的手续费,请问 ...

【转】Eclipse使用git最简易流程

原文网址:http://www.cnblogs.com/ZhangWanFan/p/3993733.html git有诸多好处,网上都说的很清楚了,在这里我不再赘述.对于我来说,私下里想做一些项目,而 ...

Mirantis OpenStack 8&period;0 版本

作为 OpenStack 领域标杆性企业之一的 Mirantis 在2016年3月初发布了最新的 MOS 8.0 版本.本文试着基于公开资料进行一些归纳分析. 1. 版本概况 1.1 概况 社区版本: ...

创建 OVS vlan101 并部署 instance - 每天5分钟玩转 OpenStack(139)

前面我们创建了 OVS vlan100 并部署了 instance,今天继续创建 vlan101. subnet IP 地址为 172.16.101.0/24. 底层网络发生了什么变化 Neutron ...

matlab&colon; 数据的读写

读取数据的方法 读取.txt数据 如果.txt是按照矩阵顺序保存的一个数组,可以用textread()函数来读取: GAP=textread('continua.txt'); 读取.fig图中的数据 ...

Egret 4&period;x 和 5&period;x 项目共存的方法

正常来说,安装了对应的引擎之后,4.x的项目和5.x的项目是各自编译互相不影响的. 但是由于引擎的bug,我在实际使用中,出现了编译5.x的项目正常,之后切换到4.x的项目编译时,显示正常编译完毕,但 ...

修改Github上提交日志

bash: git rebase -i HEAD~5:假定你要修改的日志位于当前版本(HEAD)的前4次提交中. vi: pick -> reword:在自动打开的vi编辑器中,上下选择你要修改 ...

qfiledialog文件过滤_自定义高级QFileDialog文件过滤器相关推荐

  1. 360文件粉碎机_电脑上的文件删除不了怎么办?电脑文件删除不了的解决办法

    电脑文件删除不了怎么办?正常情况下电脑上面的文件都可以手动删除,但是有时候出现无法删除文件,重启电脑依然如此怎么回事呢?下面峰哥分享几种解决方案,供大家参考参考. 需要管理员权限 一般情况下出现无法删 ...

  2. bandizip修改压缩文件内容_如何修改压缩文件的编码?

    使用系统自带的那个"发送到-压缩文件夹"?那么就是压缩为zip格式了.而这种格式,确实要考虑文件名编码的问题--你在日语系统下压缩,使用了本地编码Shift-JIS,显示正常的文件 ...

  3. linux下制作windows镜像文件,Linux之自定义ISO镜像文件制作

    这一节主要介绍iso镜像制作过程,主要包含两部分mkisofs:创建镜像文件 光盘烧录工具 如果终端没有mkisofs指令,需要下载一下,例如ubuntu14.04 apt-get install g ...

  4. java 文件 剪切_总结java中文件拷贝剪切的5种方式-JAVA IO基础总结第五篇

    本文是Java IO总结系列篇的第5篇,前篇的访问地址如下: 很多朋友在看我的<java IO总结系列>之前觉得创建文件.文件夹删除文件这些基础操作真的是太简单了.但看了我的文章之后,有小 ...

  5. add多个文件 git 文件夹_利用 git 提取文件夹下多个特定文件里的内容写到特定文件内...

    有些时候我们需要将一个或多个文件夹内的特定文件里的内容读写到指定的文件内,如果是一个一个文件复制速度太慢,这时我们可以利用git来操作. 首先打开我们需要读取的文件的上级文件夹,在空白处右击选择[Gi ...

  6. cfile清空文件内容_电脑C盘文件夹哪些可以删除?教你如何快速清理,旧电脑还能用3年...

    电脑用久了,便会越来越卡顿,不少电脑卡顿的原因就在于C盘快满了.今天小编所说的就是教大家如何快速删除这些文件夹,释放我们的电脑空间,从而保证我们电脑的流畅性.下面我们就一起来看看,哪些文件夹可以删除吧 ...

  7. 怎样用python批量处理文件夹_套娃式文件夹如何通过Python批量处理

    前言 在我对项目组的一些训练图像进行预处理的时候,发现处理的图像是分好了类,在文件夹里的文件夹里,套娃式存储的,所以对我批处理,以及按原文件夹规则进行存储的时候,就会造成很大困扰 但通过下面几个函数的 ...

  8. python读写文件操作_详解Python文件读写操作

    读文件 打开文件(文件需要存在)#打开文件 f = open("data.txt","r") #设置文件对象 print(f)#文件句柄 f.close() # ...

  9. 中有冒号 文件路径_用Matlab脚本文件实现Excel文件的合并

    日常吐槽 前段时间跟同事聊天,同事洗脑了一个新的(扎心的)世界观,"人生分三个阶段,20岁时承认父母很平庸,30岁时承认自己很平庸,40岁时承认孩子很平庸".这是这位同事在孩子学而 ...

最新文章

  1. 实验一:使用ADO.NET方式读数据
  2. COM编程之一 组件
  3. python 求系数矩阵,关于numpy:python-如何在数据矩阵中使用nans计算相关矩阵
  4. 人民用不起的共享充电宝,可能还被植入了木马,这三类要慎用!
  5. JavaScript中document.getElementById和document.write
  6. oracle学习笔记汇总
  7. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_2_综合案例_文件上传案例的客户端...
  8. MyBatis-SELECT基本查询
  9. 单片机c语言定时器控制流水灯,单片机-定时器流水灯
  10. redimine 插件_3DMine软件与国内外同类软件对比
  11. 比较结构的关联词(一)
  12. 对于流媒体的一些认识
  13. Bit-Z合约关于平仓的说明
  14. 工业App能否成为继Android和iOS后下一个App开发者的春天?
  15. 部落卫队问题 (回溯)
  16. java解压加密的7z格式文件
  17. 加速度传感器 mag_将电话连接到没有辅助扬声器mag的汽车立体声
  18. linux shell编程从入门到精通pdf_SHELL脚本编程入门
  19. 企业微信 之 创建应用并添加至侧边栏
  20. 【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法

热门文章

  1. “疫”外保住半导体巨头颜面  为何英特尔财报超预期股价却唱反调?
  2. AppiumDeskop-按键表
  3. 如何在 JavaScript 中获取 UNIX 时间戳
  4. Joomla详细安装图文教程
  5. bootstrap tips
  6. excel vba 文本框_自动调整Excel文本框的大小
  7. 使用 hexo + 主题 butterfly + Github 搭建个人博客
  8. css flex 图片不拉伸_flex布局下img元素被拉伸变形的有效解决办法
  9. PHP在线文字转语音合成源码
  10. 轨迹跟踪控制算法-纯跟踪法、前轮反馈控制法、LQR