所以我决定在我的应用程序中使用 KDE Kirigami UI 框架,所以我按照说明进行操作here https://api.kde.org/frameworks/kirigami/html/index.html。我将存储库克隆到我的应用程序目录中,然后使用简单的命令添加它include(kirigami/kirigami.pri)
在我的项目文件中。
现在这可以工作了,但是我遇到的问题是在 QML 中总是出现错误:QML module not found
当我导入插件时(import org.kde.kirigami 2.9
)。该项目仍然可以正常编译和运行,并且我能够使用我需要的 UI 组件,但主要问题是 Kirigami 插件的代码完成和语法突出显示不起作用。
之前已经问过类似的问题here https://stackoverflow.com/questions/35352930/qt5-qml-module-is-not-installed,我已经尝试了该线程答案中的所有建议,但没有一个起作用:
当您将鼠标悬停在 QML 文件中的“未找到 module org.kde.kirigami”错误标记上时,弹出窗口会告诉您 Qt Creator 正在查找QML_IMPORT_PATH
对于这些文件。它还告诉您如何设置它。
通过增加QML_IMPORT_PATH += …
到您的项目文件中,您已将其设置为qmake
基于构建过程。然而,Kirigami 项目通常使用 CMake,这可能是您之前的尝试失败的原因。
To set 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"
Source: 另一个答案 https://stackoverflow.com/a/38266179在 StackOverflow 上
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)