Resource path does not work...



  • I am fairly new to Qt, and I am trying to include a file using the Qt resource system.

    @RESOURCES += test.qrc@

    the test.qrc file reads
    @
    <RCC>
    <qresource prefix="/">
    <file>/somepath/somefile</file>
    </qresource>
    </RCC>
    @

    now, I am trying to access the file by the usual syntax,

    @QFile file("://somepath/somefile");
    ...
    @

    unfortunately, this just treats the ://somepath/somefile as a literal string somehow, and does not resolve the resource path!! I am clueless why that might be happening. Can anyone suggest why?



  • Hi, try change your test.qrc to:

    <RCC>
    <qresource>
    <file>somepath/somefile</file>
    </qresource>
    </RCC>
    

    and access it with:
    QFile file(":/somepath/somefile");

    P.S. Also, check that you can see your resource file in QtCreator in the Projects/Resources folder (verifying that the file path is correct.)



  • Thanks for your reply.

    I have already tried those things, but none are working. I tried your modification also, but I got the same result. Am I missing something fundamental here?



  • Hi, I tried with your test.qrc above (I created a new simple widgets app):
    first I checked that test.qrc showed up in the Qt Creator's Resources folder (underneath the Forms folder) also that I can doubleclick on somepath/somefile and that the contents appear in Qt Creator's edit window.
    Then i tested with my simple untitled widgets app, inserted 2 new include lines at the top:

    #include "QFile.h"
    #include "qDebug.h"
    

    added these 3 lines to get the contents of somepath/somfile:

    QFile file(":/somepath/somefile");
    file.open(QIODevice::ReadOnly);
    qDebug() << file.readAll();
    

    and sure enough the debug output shows the contents as well.
    Should work for you as well, I hope!



  • Thanks hskoglund,

    I have found the issue. I was trying to run a script that I was loading as a resource. As I know now, that is not possible. Instead, I have to package the file, and I found a way to do that. Thanks to you of course, I was able to sort this out. When I saw that I can read the file but cannot access the path, then I realised, this is not what I wanted.
    Thanks again.

    • Dipan

Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.