【问题标题】:QML module not found when using KDE Kirigami使用 KDE Kirigami 时找不到 QML 模块
【发布时间】:2019-08-22 16:59:00
【问题描述】:

所以我决定在我的应用程序中使用 KDE Kirigami UI 框架,所以我遵循了here 的说明。我在我的 app 目录中克隆了 repo,然后在我的项目文件中添加了一个简单的include(kirigami/kirigami.pri)

现在这可行,但是我遇到的问题是在 QML 中总是出现错误:QML module not found 当我导入插件时(import org.kde.kirigami 2.9)。该项目仍然可以正常编译和运行,我可以使用我需要的 UI 组件,但主要问题是 Kirigami 插件的代码完成和语法突出显示不起作用。

here 之前有人问过类似的问题,我已经尝试了该线程答案中的所有建议,但没有一个有效:

  • 我使用绝对路径和相对路径导入了 QQmlEngine::addImportPath kirigami/src/controls 文件夹。我也试过qrc:/

  • 我在我的项目文件中添加了QML_IMPORT_PATH += $$PWD/kirigami/src/controls $$PWD/kirigami 行。

【问题讨论】:

    标签: qt qml qt-creator kde


    【解决方案1】:

    当您将鼠标悬停在 QML 文件中的“找不到模块 org.kde.kirigami”错误标记上时,弹出窗口会告诉您 Qt Creator 正在 QML_IMPORT_PATH 中查找这些文件。它还告诉您如何设置。

    通过将QML_IMPORT_PATH += … 添加到您的项目文件中,您已将其设置为基于qmake 的构建过程。但是,Kirigami 项目通常使用 CMake,这可能是您之前的尝试没有成功的原因。

    要为基于 CMake 的构建系统设置 QML_IMPORT_PATH,您需要从项目树的根目录中打开 CMakeLists.txt 文件并在顶部添加以下部分:

    # ------------------------- BEGIN: lists to maintain manually -------------------------
    
    # Directories where Qt Creator can find QML files of Kirigami etc. on your system.
    #   (This setting is cached in variable QML_IMPORT_DIR, see below. Delete
    #   ${BUIL_DIR}/CMakeCache.txt to make make changes here effective.)
    list(APPEND QML_DIRS "/usr/lib/x86_64-linux-gnu/qt5/qml")
    
    # ------------------------- END: lists to maintain manually -------------------------
    
    
    # Tell Qt Creator where to find QML files.
    #   (The build process will work without this, but no code completion etc..)
    set(
        QML_IMPORT_PATH "${QML_DIRS}"
        CACHE STRING "Qt Creator 4.1 extra qml import paths"
    )
    

    当然,将其调整为适合您系统的正确目录。在基于 Debian / Ubuntu 的系统上,以下将确定包含从存储库安装的 Kirigami QML 文件的目录:

    dpkg -L qml-module-org-kde-kirigami2 | grep "\.qml"
    

    来源: StackOverflow 上的another answer

    【讨论】:

    • 感谢您的回答,我忘了自己回答这个问题,因为这个问题已经在Qt forum 中解决了。
    猜你喜欢
    • 2016-03-19
    • 2019-04-02
    • 1970-01-01
    • 2021-04-27
    • 2021-04-16
    • 2022-01-04
    • 2016-01-14
    • 2021-11-15
    • 2019-10-14
    相关资源
    最近更新 更多