qt文件夹
1. qt计算文件夹的个数
QT获取某个文件夹下 某格式文件的数量
int GetRSSCount()
{
int count=0;
QDir myDir(RSS_SEEDINNEW);
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
for(unsigned int i=0;i<myDir.count();i++)
{
QString sext=myDir[i].toLower();
if(-1!=sext.indexOf(".xml"))
count++;
}
return count;
}
以下处理文件夹中还有文件夹情况
void GetFileCount(QString RSS_seedPath)
{
QDir myDir(RSS_seedPath);
QFileInfo finfo;
QFileInfo finfotemp;
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
for(unsigned int i=0;i<myDir.count();i++)
{
finfo = QFileInfo(myDir.filePath(myDir[i])); //目录下每个文件的文件信息
if ((finfo.fileName() == ".") || (finfo.fileName() == ".."))//这两个目录不需要
{
continue;
}
if(finfo.isDir())
{
GetRssFileCount(myDir.filePath(myDir[i])); //如果是文件夹 则递归调用
}
2. qt 怎样获取文件夹下的所有文件
QCoreApplication有几个静态方法可以实现,我一般用QCoreApplication::applicationDirPath()获取可执行文件得目录
3. qt相对路径,需要取到祖父目录下的文件夹
使用QDir 里面的相关方法,
QDir::current()获得当前Dir,然后使用cdUp()进到其父目录,两次调用应该就可以了
具体请参考:http://qt-project.org/doc/qt-4.8/qdir.html
4. Qt 如何在打开的文件夹中鼠标选中某文件
是在打开的文件夹中自动选中某文件吧?不需要用鼠标。
试试看这一段:
boolOpenFolderAndSelectFile(constchar*filePath)
{
#ifdefQ_OS_WIN
LPITEMIDLISTpidl;
LPCITEMIDLISTcpidl;
LPSHELLFOLDERpDesktopFolder;
ULONGchEaten;
HRESULThr;
WCHARwfilePath[MAX_PATH+1]={0};
::CoInitialize(NULL);
if(SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder)))
{
//IShellFolder::ParseDisplayName要传入宽字节
LPWSTRlpWStr=NULL;
//#ifdef_UNICODE
//_tcscpy(wfilePath,strFilePath);
//lpWStr=wfilePath;
//#else
MultiByteToWideChar(CP_ACP,0,(LPCSTR)filePath,-1,wfilePath,MAX_PATH);
lpWStr=wfilePath;
//#endif
hr=pDesktopFolder->ParseDisplayName(NULL,0,lpWStr,&chEaten,&pidl,NULL);
if(FAILED(hr))
{
pDesktopFolder->Release();
::CoUninitialize();
returnFALSE;
}
cpidl=pidl;
//SHOpenFolderAndSelectItems是非公开的API函数,需要从shell32.dll获取
//该函数只有XP及以上的系统才支持,Win2000和98是不支持的,考虑到Win2000
//和98已经基本不用了,所以就不考虑了,如果后面要支持上述老的系统,则要
//添加额外的处理代码
HMODULEhShell32DLL=::LoadLibraryA("shell32.dll");
//ASSERT(hShell32DLL!=NULL);
if(hShell32DLL!=NULL)
{
typedefHRESULT(WINAPI*pSelFun)(LPCITEMIDLISTpidlFolder,UINTcidl,LPCITEMIDLIST*apidl,DWORDdwFlags);
pSelFunpFun=(pSelFun)::GetProcAddress(hShell32DLL,"SHOpenFolderAndSelectItems");
//ASSERT(pFun!=NULL);
if(pFun!=NULL)
{
hr=pFun(cpidl,0,NULL,0);//第二个参数cidl置为0,表示是选中文件
if(FAILED(hr))
{
::FreeLibrary(hShell32DLL);
pDesktopFolder->Release();
::CoUninitialize();
returnFALSE;
}
}
::FreeLibrary(hShell32DLL);
}
else
{
pDesktopFolder->Release();
::CoUninitialize();
returnFALSE;
}
//释放pDesktopFolder
pDesktopFolder->Release();
}
else
{
::CoUninitialize();
returnFALSE;
}
::CoUninitialize();
returnTRUE;
#else
QStringpathIn(filePath);
QStringListscriptArgs;
scriptArgs<<QLatin1String("-e")<<QString::fromLatin1("tellapplication"Finder"torevealPOSIXfile"%1"").arg(pathIn.replace('\','/'));
QProcess::execute(QLatin1String("/usr/bin/osascript"),scriptArgs);
scriptArgs.clear();
scriptArgs<<QLatin1String("-e")<<QLatin1String("tellapplication"Finder"toactivate");
QProcess::execute("/usr/bin/osascript",scriptArgs);
returntrue;
#endif
}
5. QT中遍历一个文件夹并给文件夹中的每个文件改名字,如何构造遍历文件夹的迭代器,请高手指教啊
QDirIterator it("/etc", QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
// /etc/.// /etc/..// /etc/X11// /etc/X11/fs// ...
}
迭代器不用自己写 还有只是重命名文件名不用打开文件的 我没具体写 你先试试吧
6. lol内置语音QT的文件夹是哪个
运行文件在:英雄联盟\Cross\Apps\LQT\QT\Bin里面,
卸载文件是在英雄联盟\Cross\Apps\LQT\QT\QT里面
“alkUninst.exe“这个文件双击卸载。
QT是可以卸载的,之所以放在LOL文件里面是腾讯的一个小手段而已。
不过没必要卸载,卡的话进了游戏把配置调低一点就好了,
进游戏-->按下Esc键-->然后把视频效果调低就好了。
7. 电脑文件夹QTBox是什么
这个简单,你给combox定义一个触发事件,就是当comBox产生下拉的时候,自动条用QCalendar控件 就是下面的那个日历表,然后使用QCalendar的函数获取当前时间,然后作为String传递给ComBox,当然,你的ComBox要设置成Editable就是可编辑的。
谢谢,有疑问再补充
帮你写好了!
8. QT中怎么在项目里新建一个文件夹。
9. QtExample文件夹如何删
直接删删不掉么?
10. QT 获得指定文件夹及子文件夹下面的文件
使用QDir::entryInfoList获的文件夹下的所有文件列表(QFileInfoList),然后通过判断QFileInfoList中每个QFileInfo的类型,QFileInfo::isDir()判断是否目录,QFileInfo::isFile()判断是否是文件,对于目录,同样的方法处理即可获得子目录中的文件了。