c – 在Qt中获取qrc文件的路径

c – 在Qt中获取qrc文件的路径,第1张

概述我想知道如何访问qrc文件中的文件路径,以便将它们用作数组中的字符串. qrc文件的一个例子是: <!DOCTYPE RCC><RCC version="1.0"> <qresource prefix=""> <file>images/1.jpg</file> <file>images/2.jpg</file> <file>images/3.jpg</file 我想知道如何访问qrc文件中的文件路径,以便将它们用作数组中的字符串.
qrc文件的一个例子是:

<!DOCTYPE RCC><RCC version="1.0">    <qresource prefix="">     <file>images/1.jpg</file>     <file>images/2.jpg</file>     <file>images/3.jpg</file>     <file>images/4.jpg</file>    </qresource>   </RCC>

我想以下列方式使用它:

for(int i=0;i<4;i++)   {     path=image_path[i];   }

其中path是一个qList,可以在以后用于访问相应的图像.

解决方法 使用 QDirIterator似乎有一种简单的方法.

如果在当前工作目录中有一个名为“:”的目录,它可能会中断,并且您希望将来可以对其进行解析.无论如何,这不应该是现在关注的问题.

QStringList imagefileList;QDirIterator dirIterator(":",QDirIterator::SubdirectorIEs);while (dirIterator.hasNext()) {    QfileInfo fileInfo = it.fileInfo();    if (fileInfo.isfile()) // Do not add directorIEs to the List        imagefileList.append(it.next());}

或者,这需要相当多的参与,但我认为它有效.我担心写这个没有更方便的方法.

main.qrc

<!DOCTYPE RCC><RCC version="1.0"> <qresource prefix="">  <file>images/1.jpg</file>  <file>images/2.jpg</file>  <file>images/3.jpg</file>  <file>images/4.jpg</file> </qresource></RCC>

main.cpp中

#include <QXmlStreamReader>#include <QString>#include <Qfile>#include <QTextStream>int main(){    QTextStream standardOutput(stdout);    Qfile file("main.qrc");    if (!file.open(qiodevice::Readonly | qiodevice::Text)) {        standardOutput << "file open error:" << file.errorString() << "\n";        return 1;    }    QXmlStreamReader inputStream(&file);    while (!inputStream.atEnd() && !inputStream.hasError()) {        inputStream.readNext();        if (inputStream.isstartElement()) {            QString name = inputStream.name().toString();            if (name == "file")                standardOutput << "file: :/" << inputStream.readElementText() << "\n";        }    }    return 0;}

main.pro

TEMPLATE = appTARGET = mainQT = coreSOURCES += main.cpp

构建并运行

qmake && make && ./main

产量

file: :/images/1.jpgfile: :/images/2.jpgfile: :/images/3.jpgfile: :/images/4.jpg
总结

以上是内存溢出为你收集整理的c – 在Qt中获取qrc文件的路径全部内容,希望文章能够帮你解决c – 在Qt中获取qrc文件的路径所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1227335.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存