- Qt 6.9
- Qt Core
- <QtResource>
- Qt 6.9.3 Reference Documentation

# <QtResource>

Macros for managing the Qt resource system. More...

Header: | `#include <QtResource>`

## Macros

void | Q_CLEANUP_RESOURCE(name)
void | Q_INIT_RESOURCE(name)

## Detailed Description

## Macro Documentation

### void Q_CLEANUP_RESOURCE(name)

Unloads the resources specified by the `.qrc` file with the base name name.

Normally, Qt resources are unloaded automatically when the application terminates, but if the resources are located in a plugin that is being unloaded, call Q_CLEANUP_RESOURCE() to force removal of your resources.

Note: This macro cannot be used in a namespace. Please see the Q_INIT_RESOURCE documentation for a workaround.

Example:

     Q_CLEANUP_RESOURCE(myapp);

See also Q_INIT_RESOURCE() and The Qt Resource System.

### void Q_INIT_RESOURCE(name)

Initializes the resources specified by the `.qrc` file with the specified base name. Normally, when resources are built as part of the application, the resources are loaded automatically at startup. The Q_INIT_RESOURCE() macro is necessary on some platforms for resources stored in a static library.

For example, if your application's resources are listed in a file called `myapp.qrc`, you can ensure that the resources are initialized at startup by adding this line to your `main()` function:

     Q_INIT_RESOURCE(myapp);

If the file name contains characters that cannot be part of a valid C++ function name (such as '-'), they have to be replaced by the underscore character ('_').

Note: This macro cannot be used in a namespace. It should be called from main(). If that is not possible, the following workaround can be used to init the resource `myapp` from the function `MyNamespace::myFunction`:

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

     namespace MyNamespace
     {
         ...

         void myFunction()
         {
             initMyResource();
         }
     }

See also Q_CLEANUP_RESOURCE() and The Qt Resource System.