Sur cette page

Déploiement des plugins

Cette rubrique explique comment déployer des bibliothèques de plugins afin que Qt ou votre application puisse les charger lors de l'exécution. Si vous utilisez des plugins statiques, le code des plugins fait déjà partie de l'exécutable de votre application et aucune étape de déploiement supplémentaire n'est nécessaire.

Le répertoire des plugins

Dans Qt, lorsqu'une application démarre, le répertoire de l'exécutable de l'application sert de répertoire de base dans lequel Qt recherche les plugins.

Par exemple, sous Windows, si l'application se trouve dans C:\Program Files\MyApp et qu'elle dispose d'un plugin de style, Qt recherche dans C:\Program Files\MyApp\styles.

Pour savoir où se trouve l’exécutable de votre application, consultez QCoreApplication::applicationDirPath().

Qt recherche également dans le répertoire spécifié par ` QLibraryInfo::path` (`QLibraryInfo::PluginsPath`), qui se trouve généralement dans ` QTDIR/plugins` ; ` QTDIR ` est le répertoire dans lequel Qt est installé. Si vous souhaitez que Qt effectue des recherches dans d'autres emplacements, vous pouvez ajouter autant de chemins que nécessaire à l'aide des appels à ` QCoreApplication::addLibraryPath()`. Si vous souhaitez définir vos propres chemins, vous pouvez utiliser ` QCoreApplication::setLibraryPaths()`.

Vous pouvez également utiliser un fichier ` qt.conf ` pour remplacer les chemins codés en dur qui sont compilés dans la bibliothèque Qt. Pour plus d’informations, consultez la section « Utilisation de qt.conf ».

Une autre possibilité consiste à définir la variable d'environnement QT_PLUGIN_PATH avant de lancer l'application ; plusieurs chemins peuvent être séparés par un séparateur de chemins système. Une fois définie, Qt recherche les plugins dans les chemins spécifiés dans cette variable.

Remarque : n’exportez pas QT_PLUGIN_PATH en tant que variable d’environnement à l’échelle du système, car cela pourrait interférer avec d’autres installations de Qt.

Chargement et vérification dynamiques des plugins

Lors du chargement des plugins, la bibliothèque Qt effectue des contrôles de cohérence afin de déterminer si le plugin peut être chargé et utilisé. Ces contrôles de cohérence vous permettent d’installer plusieurs versions et configurations de Qt en parallèle.

Les règles suivantes s’appliquent :

  • Les plugins liés à une bibliothèque Qt dont le numéro de version mineure est supérieur ne seront pas chargés par une bibliothèque dont le numéro de version mineure est inférieur.


    Exemple : Qt 6.2.0 ne chargera pas un plugin compilé avec Qt 6.3.0. Exemple : Qt 6.2.0 chargera un plugin compilé avec Qt 6.1.0. Exemple : Qt 6.2.0 chargera un plugin compilé avec Qt 6.2.1.

  • Les plugins liés à une bibliothèque Qt dont le numéro de version majeure est inférieur ne seront pas chargés par une bibliothèque dont le numéro de version majeure est supérieur.


    Exemple : Qt 6.0.0 ne chargera pas un plugin compilé avec Qt 5.15.0.

Lors de la compilation de plugins destinés à étendre une application, il est important de s'assurer que le plugin est configuré de la même manière que l'application. Cela signifie que si l'application a été compilée en mode « release », les plugins doivent également l'être en mode « release ». À l'exception des systèmes d'exploitation Unix, sur lesquels le système de plugins ne chargera pas les plugins compilés dans un mode différent de celui de l'application.

Débogage des plugins

Plusieurs problèmes peuvent empêcher des plugins correctement écrits de fonctionner avec les applications conçues pour les utiliser. Bon nombre d’entre eux sont liés à des différences dans la manière dont les plugins et les applications ont été compilés, souvent dues à des systèmes et processus de compilation distincts.

Pour obtenir des informations de diagnostic de la part de Qt concernant chaque plugin qu’il tente de charger, utilisez la variable d’environnement ` QT_DEBUG_PLUGINS `. Définissez cette variable sur une valeur non nulle dans l’environnement où votre application est lancée.

Le tableau suivant décrit les causes courantes des problèmes rencontrés par les développeurs lors de la création de plugins, ainsi que les solutions possibles.

ProblèmeCauseSolution
Les plugins ne se chargent pas sans message d'erreur, même lorsqu'ils sont ouverts directement par l'application. Qt Widgets Designer affiche les bibliothèques de plugins dans sa boîte de dialogue « Help|About Plugins », mais aucun plugin n'apparaît sous chacune d'elles.L'application et ses plug-ins ont été compilés dans des modes différents.Compilez le plugin avec la même configuration que l'exécutable.

© 2026 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.