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

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.

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