QFileInfoList SuffixInfoList;//定义放提取文件的List
//遍历
foreach(QFileInfo fileInfo, QFileInfoList)
{
if(!fileInfoisFile()) continue;//不是文件继续,只用于加速,可不加
//后缀不区分大小写,需要区分直接用“==”
if(0==fileInfosuffix()compare(后缀), Qt::Caseinsensitive)
{
SuffixInfoList }
}
以上纯为手打,不是Copy的,可能有些拼写错误大小写错误什么的,望谅解这个可以使用QTreeview和QFileSystemModel:官方文档例子如下:
It is simple to construct a tree view displaying data from a model In the following example, the contents of a directory are supplied by a QFileSystemModel and displayed as a tree:
QFileSystemModel model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView tree = new QTreeView(splitter);
tree->setModel(model);
如果要使用QTreeWidget 就要使用QFileInfo对文件夹进行遍历,挨个添加到QTreeWidget中。有关QFileInfo请参考帮助文档:>void funlibEdit::InitTypeData()
{
//读基本类型
QFile file("datatype"); //datatype为读取的文件名,这里可以为路径,否则表示为当前路径
if (!fileopen(QIODevice::ReadOnly | QIODevice::Text)) //设置为Text方式只读,并判断是否打开
return; //若打开失败直接返回
QTextStream in(&file); //将内容读到文本流中,即in中为datatype中的所有内容
while (!inatEnd()) //循环遍历到结束
{
QString loctype = inreadLine(); //读一行到locttupe
loctype = loctypesimplified(); //这个应该是化简,具体我不清楚,你可以去看下手册simplified的函数功能
m_typelistappend(loctype); //在m_typelist这段字符串之后加上loctype这个字符串
}
fileclose(); //关闭打开的datatype文件
//读类型映射
QFile mapfile("datatypemap");
if (!mapfileopen(QIODevice::ReadOnly | QIODevice::Text)) //同上判断
return;
QTextStream mapin(&mapfile); //同上
while (!mapinatEnd()) //同上
{
QString mapline = mapinreadLine(); //同上
int index = maplineindexOf(":"); //所以“:”,返回位置
QString outtype = maplineleft(index)simplified(); //同上
QString intype = maplineright(maplinelength()-index-1)simplified(); //同上
m_typemap[outtype] = intype; //放到数组中,功能同上
}
mapfileclose(); //同上
}步骤如下:
1、开启服务器,客户端进行连接。
2、客户端向服务器上传文件,也可以下载服务器文件到客户端本地。
Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(MetaObjectCompilermoc))以及一些宏,易于扩展,允许组件编程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)