Array com todos os paths de um .qrc
-
Boas! Tudo bem? Primeiro post! ahaha
Eu já ando nas andanças do Qt há algum tempo mas nunca usei muito os .qrc e esta é a primeira vez que encontro uma dificuldade sem resposta em lado nenhum!!
Criei uma aplicação onde tenho um .qrc com várias imagens. O que eu pretendo é criar um array de um qualquer tipo com todos os paths presentes nesse .qrc.
Existe alguma forma de eu fazer isto dinamicamente? Ou tenho mesmo que adicionar os paths um a um ao array?
Abr.
-
O .qrc para as classes do Qt age como um diretório comum.
Logo, você pode usar, o QDir ou o QDirIterator:@
QDir dir(":");
QStringList list = dir.entryList();
@Mas o entryList() não retorna os subdiretórios.
Mas utilizando o QDirIterator:@
QStringList listSubDir;
QDirIterator dir_it(":", QDirIterator::Subdirectories);
while (dir_it.hasNext()) {
listSubDir << dir_it.next();
}
@Você tem a lista do qrc inteiro.
-
Boa!!
Não sabia nem tinha pensado no .qrc dessa forma!
Muito obrigado!
-
também classificar por tipo... simplesmente...
@
/// found https://github.com/pehohlva/imq
bool Compressor::appendDirname(const QString pwd) {
QTextStream out(stdout);
if (!invalidname(pwd)) {
return false;
}
bool result = true;
QDir dir(pwd);
if (dir.exists(pwd)) {
OsFile dirfromOS;
dirfromOS.set_File(dir.absolutePath(), 3);
if (writtel.device()) {
writtel << dirfromOS;
}
out << "D:" << dir.absolutePath() << "\n";
out.flush();Q_FOREACH(QFileInfo info, dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst)) { if (info.isDir()) { result = appendDirname(info.absoluteFilePath()); } else if (info.isSymLink()) { OsFile symslinkOS; symslinkOS.set_File(info.symLinkTarget(), 2); symslinkOS.set_NameSimslink(info.fileName()); if (writtel.device()) { writtel << symslinkOS; } } else if (info.isFile()) { result = appendFilename(info, info.absolutePath()); } } } return result;
}
@