Alias-Zyklus
Diese Warnkategorie wird von qmllint mit [alias-cycle]
angegeben.
Alias-Eigenschaft ist Teil eines Alias-Zyklus
Was ist passiert?
Ein Eigenschaftsalias löst sich in sich selbst oder in einen anderen Alias auf, der sich selbst auflöst.
Normalerweise sollte ein Eigenschaftsalias eine andere Eigenschaft entweder direkt oder indirekt über eine andere Alias-Eigenschaft referenzieren.
Wenn ein Eigenschaftsalias direkt oder indirekt auf sich selbst verweist, dann bildet er einen Alias-Zyklus. Die Warnung zeigt an, dass die aktuelle Aliaseigenschaft innerhalb eines Alias-Zyklus liegt oder auf einen Alias-Zyklus verweist, siehe Beispiel.
Warum ist das schlecht?
Instanzen von Komponenten mit Alias-Zyklen werden zur Laufzeit nicht erzeugt: Sie sind stattdessen null.
Beispiel
import QtQuick Item { id: someId property alias myself: someId.myself // not ok: referring to itself property alias cycle: someId.cycle2 // not ok: indirectly referring to itself property alias cycle2: someId.cycle property alias indirect: someId.cycle // not ok: referring to alias indirectly referring to itself }
Um diese Warnung zu beheben, brechen Sie die Alias-Zyklen auf:
import QtQuick Item { id: someId Item { id: anotherId property string myself property int cycle } property alias myself: anotherId.myself // ok: referring to a property property alias cycle: someId.cycle2 // ok: does not refer to itself anymore property alias cycle2: anotherId.cycle // ok: not a cycle anymore property alias indirect: someId.cycle // ok: cycle does not form an alias cycle anymore }
© 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.