使用KDE Kirigami时找不到QML模块。

问题描述 投票:1回答:1

所以我决定在我的应用程序中使用KDE Kirigami UI框架,所以我按照指示进行了如下操作 此处. 我把repo克隆到我的应用目录中,然后用一个简单的方法添加它。include(kirigami/kirigami.pri) 在我的项目文件中。

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

之前也有人问过类似的问题 此处我尝试了该主题答案中的所有建议,但都没有成功。

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

  • 我加了一个 QML_IMPORT_PATH += $$PWD/kirigami/src/controls $$PWD/kirigami 行到我的项目文件。

qt qml qt-creator kde
1个回答
1
投票

当你把鼠标放在QML文件中的 "module org.kde.kirigami not found "错误标记上时,弹出的窗口会告诉你Qt Creator正在寻找在 QML_IMPORT_PATH 为这些文件。它还告诉你如何设置。

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

要设置 QML_IMPORT_PATH 对于一个基于CMake的构建系统,你会打开 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上

© www.soinside.com 2019 - 2024. All rights reserved.