Sur cette page

Cycle d'héritage

Cette catégorie d'avertissement est orthographiée [inheritance-cycle] par qmllint.

Le composant fait partie d'un cycle d'héritage

Qu'est-ce qui s'est passé ?

Un composant a hérité directement ou indirectement de lui-même.

En général, les composants peuvent hériter de propriétés, de méthodes, de signaux et d'enums d'autres composants.

Si un composant hérite de lui-même directement ou indirectement par l'intermédiaire d'un autre composant de base, il forme alors un cycle d'héritage. L'avertissement indique que le composant actuel se trouve à l'intérieur d'un cycle d'héritage, voir l'exemple.

Pourquoi est-ce mauvais ?

Les composants avec des cycles d'héritage ne seront pas créés au moment de l'exécution : ils seront nuls à la place.

Exemple

import QtQuick

Item {
    component Cycle: Cycle {} // not ok: directly inherits from itself
    component C: C2 {}        // not ok: indirectly inherits from itself
    component C2: C{}
}

Pour corriger cet avertissement, interrompez le cycle d'héritage :

import QtQuick

Item {
    component Cycle: Item {}  // ok: does not inherit from itself
    component C: C2 {}        // ok: does not indirectly inherits from itself anymore
    component C2: Cycle{}
}

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