Enum declared outside the root element
This warning category is spelled [non-root-enum] by qmllint.
Enum declared outside the root element
What happened?
An enum was declared outside of the root element of the component.
Why is that bad?
It won't be accessible. Enums are accessed as <component name>.<optional enum name>.<enum entry>. If the enum is not at the root of the component, this lookup won't work.
Example
// Main.qml
import QtQuick
Item {
Item {
id: item
enum Color { Red, Green, Blue }
}
}
To fix this warning, move the enum to the root of the component:
// Main.qml
import QtQuick
Item {
enum Color { Red, Green, Blue } // Accessible in Main.qml but also from other files
Item {
id: item
}
}