<QtResource> Proxy-Seite

Makros

void Q_CLEANUP_RESOURCE(name)
void Q_INIT_RESOURCE(name)

Makro-Dokumentation

void Q_CLEANUP_RESOURCE(name)

Entlädt die in der Datei .qrc angegebenen Ressourcen mit dem Basisnamen name.

Normalerweise werden Qt-Ressourcen automatisch entladen, wenn die Anwendung beendet wird, aber wenn sich die Ressourcen in einem Plugin befinden, das gerade entladen wird, rufen Sie Q_CLEANUP_RESOURCE() auf, um die Entfernung Ihrer Ressourcen zu erzwingen.

Hinweis: Dieses Makro kann nicht in einem Namespace verwendet werden. Bitte lesen Sie die Q_INIT_RESOURCE Dokumentation für einen Workaround.

Beispiel:

Q_CLEANUP_RESOURCE(myapp);

Siehe auch Q_INIT_RESOURCE() und Das Qt Resource System.

void Q_INIT_RESOURCE(name)

Initialisiert die in der Datei .qrc angegebenen Ressourcen mit der angegebenen Basis name. Wenn Ressourcen als Teil der Anwendung erstellt werden, werden sie normalerweise beim Start automatisch geladen. Das Makro Q_INIT_RESOURCE() ist auf einigen Plattformen für Ressourcen notwendig, die in einer statischen Bibliothek gespeichert sind.

Wenn die Ressourcen Ihrer Anwendung beispielsweise in einer Datei namens myapp.qrc aufgelistet sind, können Sie sicherstellen, dass die Ressourcen beim Start initialisiert werden, indem Sie diese Zeile in Ihre Funktion main() einfügen:

Q_INIT_RESOURCE(myapp);

Wenn der Dateiname Zeichen enthält, die nicht Teil eines gültigen C++-Funktionsnamens sein können (wie z. B. '-'), müssen sie durch den Unterstrich ('_') ersetzt werden.

Hinweis: Dieses Makro kann nicht in einem Namespace verwendet werden. Es sollte von main() aus aufgerufen werden. Wenn dies nicht möglich ist, kann die folgende Abhilfe verwendet werden, um die Ressource myapp von der Funktion MyNamespace::myFunction aus zu initiieren:

inline void initMyResource() { Q_INIT_RESOURCE(myapp); }

namespace MyNamespace
{
    ...

    void myFunction()
    {
        initMyResource();
    }
}

Siehe auch Q_CLEANUP_RESOURCE() und The Qt Resource System.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.