- Qt 6.9
- Qt Qml
- QML Lint Warning and Errors
- Warnings occurred while importing
- Qt 6.9.2 Reference Documentation

# Warnings occurred while importing

This warning category is spelled `[import]` by qmllint.

## Failed to import module

### What happened?

The module imported via import statement was not found.

This can be caused, for example, by

- a typo in the import statement, or
- a user-defined module that was not built, or
- a wrong import path, or
- (qmlls only) QT_QML_GENERATE_QMLLS_INI not being set, or
- a missing module

### Why is this bad?

The application can't run because it can't find a module it relies on.

### Examples

#### Typo In The Import Statement

     import QtQuicky // not ok: typo in module name

     Item {
     }

To fix this warning, correct the typo:

     import QtQuick // ok: no typo in module name

     Item {
     }

#### User-defined module that was not built

Some tooling like QML Language Server or qmllint can't find user-defined modules when they are not built. If your project defines the QML Module you are trying to import, then the QML tooling will not find it until you build it.

Note: If building the module does not help when using QML Language Server, follow the instructions in QML Language Server setup instructions and make sure that you communicate the correct build folder to QML Language Server.

#### Wrong import path

Please refer to the QML import path documentation and to the debugging module import documentation for more information about import paths.

#### QT_QML_GENERATE_QMLLS_INI not being sert

Please refer to the QT_QML_GENERATE_QMLLS_INI documentation for more information on how to set that CMake variable.

#### Missing module

If the previous sections did not help to find the imported module, it might be missing. This might be caused by a missing dependency. When using external libraries, verify that they are actually installed, and that their modules end up in an import path.

## Component was not found

### What happened?

Some component was not found.

### Why is this bad?

The application can't run because it can't instantiate the non-found component.

### Examples

#### Typo in the component name

     import QtQuick

     Item {
         Itemy {} // not ok: typo in name
     }

To fix this warning, correct the typo:

     import QtQuick

     Item {
         Item {} // ok: no typo in name
     }

#### Missing import statement

     Item { // not ok: must be imported from QtQuick first
     }

To fix this warning, add the missing module import:

     import QtQuick

     Item { // ok: was imported from QtQuick
     }

## Import qualifier must start with a capital letter

### What happened?

Some imported module has an invalid qualifier.

### Why is this bad?

The module imported with this invalid qualifier can't be used.

### Examples

     import QtQuick as qq

     qq.Item {
     }

To fix this warning, make the import qualifier start with an upper case letter:

     import QtQuick as Qq

     Qq.Item {
     }

## Unknown import syntax

### What happened?

An import statement is using an invalid import syntax.

### Why is this bad?

The application can't run because it can't import a module it relies on.

### Examples

     import "¯\(ツ)/¯:/path/to/Module"
     import QtQuick

     Item {
     }

To fix this warning, use URLs that have an allowed scheme:

     import "qrc:/path/to/Module"
     import QtQuick

     Item {
     }

Note: This example assumes that you are not using URL handlers.

See also Import Statements.