You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu22.04新装Qt6遇QtQuick等QML模块未找到的解决求助

问题详情

我在Ubuntu 22.04上执行以下命令安装了Qt6:

sudo apt-get install qt6-base-dev qt6-declarative-dev qt6-base-dev qtcreator

打开Qt Creator创建默认Qt Quick Application项目后,代码如下:

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>


int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    engine.load(url);

    return app.exec();
}

main.qml

import QtQuick 2.15 *QML module not found (QtQuick).*
import QtQuick.Window 2.15 *QML module not found (QtQuick.Window).*

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
}

运行项目时出现编译错误:

09:14:30: Starting /home/myself/build-qttest-Desktop-Debug/qttest...
QML debugging is enabled. Only use this in a safe environment.
Warning: Ignoring WAYLAND_DISPLAY on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
QQmlApplicationEngine failed to load component
qrc:/main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/main.qml:1:1: module "QtQuick" is not installed
qrc:/main.qml:2:1: module "QtQuick.Window" is not installed
qrc:/main.qml:1:1: module "QtQuick" is not installed
09:14:30: /home/myself/build-qttest-Desktop-Debug/qttest exited with code 255

已安装的libqt库列表:

$ dpkg --get-selections | grep libqt
libqt5concurrent5:amd64             install
libqt5core5a:amd64              install
libqt5dbus5:amd64               install
libqt5designer5:amd64               install
libqt5designercomponents5:amd64         install
libqt5gui5:amd64                install
libqt5help5:amd64               install
libqt5network5:amd64                install
libqt5positioning5:amd64            install
libqt5printsupport5:amd64           install
libqt5qml5:amd64                install
libqt5qmlmodels5:amd64              install
libqt5qmlworkerscript5:amd64            install
libqt5quick5:amd64              install
libqt5quicktest5:amd64              install
libqt5quickwidgets5:amd64           install
libqt5sensors5:amd64                install
libqt5serialport5:amd64             install
libqt5sql5:amd64                install
libqt5sql5-sqlite:amd64             install
libqt5svg5:amd64                install
libqt5test5:amd64               install
libqt5webchannel5:amd64             install
libqt5webkit5:amd64             install
libqt5widgets5:amd64                install
libqt5xml5:amd64                install
libqt5xmlpatterns5:amd64            install
libqt6concurrent6:amd64             install
libqt6core6:amd64               install
libqt6dbus6:amd64               install
libqt6gui6:amd64                install
libqt6labsanimation6:amd64          install
libqt6labsfolderlistmodel6:amd64        install
libqt6labsqmlmodels6:amd64          install
libqt6labssettings6:amd64           install
libqt6labssharedimage6:amd64            install
libqt6labswavefrontmesh6:amd64          install
libqt6network6:amd64                install
libqt6opengl6:amd64             install
libqt6opengl6-dev:amd64             install
libqt6openglwidgets6:amd64          install
libqt6printsupport6:amd64           install
libqt6qml6:amd64                install
libqt6qmlcore6:amd64                install
libqt6qmllocalstorage6:amd64            install
libqt6qmlmodels6:amd64              install
libqt6qmlworkerscript6:amd64            install
libqt6qmlxmllistmodel6:amd64            install
libqt6quick6:amd64              install
libqt6quickcontrols2-6:amd64            install
libqt6quickcontrols2impl6:amd64         install
libqt6quickdialogs2-6:amd64         install
libqt6quickdialogs2quickimpl6:amd64     install
libqt6quickdialogs2utils6:amd64         install
libqt6quicklayouts6:amd64           install
libqt6quickparticles6:amd64         install
libqt6quickshapes6:amd64            install
libqt6quicktemplates2-6:amd64           install
libqt6quicktest6:amd64              install
libqt6quickwidgets6:amd64           install
libqt6sql6:amd64                install
libqt6sql6-sqlite:amd64             install
libqt6test6:amd64               install
libqt6widgets6:amd64                install
libqt6xml6:amd64                install

请问如何修复该错误并完成项目编译?

修复步骤
  • 修正QML导入版本
    Qt6中QtQuick和QtQuick.Window的版本号需使用6.x系列,将main.qml中的导入语句替换为Ubuntu 22.04仓库默认的Qt6版本(6.2):

    import QtQuick 6.2
    import QtQuick.Window 6.2
    
  • 确认Qt Creator使用Qt6工具链
    打开Qt Creator,依次进入工具 > 选项 > 构建和运行 > Kits,确保当前项目绑定的Kit是基于Qt6的(名称通常包含Qt 6.x.x GCC 64bit)。若没有Qt6套件,点击添加手动配置,指定Qt6安装路径为/usr/lib/x86_64-linux-gnu/qt6/。

  • 补充安装缺失依赖
    执行以下命令安装Qt6 Quick控件的开发包,确保所有QML组件可用:

    sudo apt-get install qt6-quickcontrols2-dev
    
  • 清理并重新构建项目
    在Qt Creator中点击构建 > 清理项目,随后点击构建 > 构建项目,清除旧编译缓存后重新生成项目文件。

内容的提问来源于stack exchange,提问作者Mendes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 22:15:54