由于一些需求,需要创建一些隐藏的文件夹,QT中不知道是否由此方法,我直接使用的windows API,SetFileAttributes函数。
下面直接上我的测试的代码:
#include <QtCore/QCoreApplication>
#include <QString>
#include <windows.h>
#include <QDir>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 获取当前的路径
QString qstrpath = QDir::currentPath();
QString qstrFilePath = qstrpath + QString("/test_path");
QString qstrFilePathHide = qstrpath + QString("/test_path_hide");
// 上面这个是正常创建的文件夹
QDir dir_path(qstrFilePath);
if (!dir_path.exists())
{
dir_path.mkdir(qstrFilePath);
}
// 这个文件夹需要隐藏
QDir dir_path_hide(qstrFilePathHide);
if (!dir_path_hide.exists())
{
dir_path_hide.mkdir(qstrFilePathHide);
}
// windows API需要将 QString 转化为 LPCWSTR
// 将文件夹设置为隐藏
SetFileAttributes((LPCWSTR)qstrFilePathHide.unicode(),FILE_ATTRIBUTE_HIDDEN);
return a.exec();
}
亲测可用。