.qrc + Icon problem



  • Hi ich hab ein problem in meiner main funktion versuche ich aus einer qrc datei ein icon zu laden.

    Beim Debuggen klappts auch aber wenn ich eine release kompiliere wirds nicht mehr geladen.

    Die Sprachpakete werden immer geladen.

    Weiß jemand woran das liegen könnte?

    int main(int argc, char *argv[])
    { 
        Q_INIT_RESOURCE(UpdateDW2);
        QApplication a(argc, argv);   
    
        // translation
        QTranslator tr1;
        QTranslator tr2;
        QString qttr = QString("languages/qt_%1").arg(QLocale::system().name());
        if (tr1.load(qttr, ":/language/qt"))
            a.installTranslator(&tr1);
        QString apptr =  QString("languages/update_%1").arg(QLocale::system().name());
        if(tr2.load(apptr, ":/language/en"))
            a.installTranslator(&tr2);
    
        int res;
        UpdateDW2 w(&res);
        QIcon icon(":/icons/icon.ico");
        w.setWindowIcon(icon);
        w.show();
        a.exec();
        return res;
    }
    

    qrc datei:

    <RCC>
        <qresource prefix="/language/en">
            <file>languages/update_en_GB.qm</file>
        </qresource>
        <qresource prefix="/icons">
            <file>icon.ico</file>
            <file>icon.png</file>
        </qresource>
        <qresource prefix="/language/qt">
            <file>languages/qt_de.qm</file>
        </qresource>
    </RCC>
    


  • Qt kann ico nicht einfach so lesen, es braucht das passende "image format plugin" bzw. die Datei: qico4.dll

    Es ist eingfacher ein png zu verwenden.

    Wenn doch ico, dann mache es so:
    qApp->addLibraryPath( qApp->applicationDirPath() + "/plugins" );
    in main.cpp

    folgende Unterverzeichnisse bei der exe erstellen: \plugins\imageformats\
    und dort die qico4.dll (aus qt-verzeichnis) hinkopieren



  • danke das mit der png war ein guter tip jetzt klappts hab die png zwar in die qrc schon rein gemacht aber nicht getestet 😕


Anmelden zum Antworten