Sur cette page

Il manque une propriété obligatoire au composant

Cette catégorie d'avertissement est orthographiée [required] par qmllint.

Il manque une propriété obligatoire au composant

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

La propriété requise d'un composant n'a pas été définie.

Pourquoi est-ce mauvais ?

Les applications QML dans lesquelles des composants n'ont pas de propriétés requises se comportent mal : elles ne démarrent pas du tout si une propriété requise manquante est détectée de manière statique. Les composants créés dynamiquement avec des propriétés obligatoires manquantes ne seront pas créés au moment de l'exécution : ils seront nuls à la place.

Exemple

import QtQuick

Item {
    component RepeatMe: Item {
        required property int index;
        required property int helloWorld;
    }

    RepeatMe {} // not ok: required properties index and helloWorld not set

    Repeater {
        model: 10
        RepeatMe {} // not ok: required property index set by Repeater, but not helloWorld
    }
}

Pour corriger cet avertissement, définissez les propriétés requises :

import QtQuick

Item {
    component RepeatMe: Item {
        required property int index;
        required property int helloWorld;
    }

    RepeatMe {
        index: 0
        helloWorld: 42
    } // ok: all required properties were set

    Repeater {
        model: 10
        RepeatMe {
            helloWorld: index * 2 + 1
        } // ok: all required properties were set: index by the Repeater and helloWorld by the user
    }
}

Voir aussi Conventions de codage QML - Propriétés requises.

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