[QT][QML] 无法在我的 QML 视图中使用 QTLocation 和 QTPositioning

[QT][QML] 无法在我的 QML 视图中使用 QTLocation 和 QTPositioning

在使用 QT 6.1 和操作系统 Ubuntu 20.04 创建的 QT/QML 项目中,我将使用 QTMapView。为此,我尝试使用以下命令安装 QTLocation 和 QTPosition:

sudo apt install qml-module-qtlocation qml-module-qtpositioning

根据以下主题的建议:

QtLocation 和 QtPositioning 未安装

之后,我尝试使用以下代码在 QML 视图中导入 QTLocation 和 QTPosition

import QtLocation 5.12
import QtPositioning 5.12

但是我在两次导入时都收到了“未找到 QML 模块”消息。

下面,您还可以找到项目的 CMakeLists.txt 文件:

cmake_minimum_required(VERSION 3.14)

project(myapp VERSION 0.1 LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 COMPONENTS Core Quick REQUIRED)
find_package(Qt6 COMPONENTS Core Quick REQUIRED)

set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

set(PROJECT_SOURCES
        main.cpp
        qml.qrc
        images.qrc
)

qt_add_executable(myapp
    MANUAL_FINALIZATION
    ${PROJECT_SOURCES}
)

target_compile_definitions(myapp
  PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(myapp
  PRIVATE Qt6::Core Qt6::Quick)

set_target_properties(myapp PROPERTIES
    QT_QML_MODULE_VERSION 1.0
    QT_QML_MODULE_URI com.my.myapp
)

list(APPEND QML_IMPORT_PATH .)

qt6_qml_type_registration(myapp)
qt_import_qml_plugins(myapp)
qt_finalize_executable(myapp)

我是不是漏掉了什么?我该如何解决这个问题并正确导入地图组件?非常感谢;我尽可能详细地说明了一切,但如果您需要其他信息,请随时询问我。

答案1

在 Ubuntu 20.04 LTS 上使用 Qt 6.1 会产生更多问题。此版本附带 Qt 5.12。所有 Qt 6 的未来不清楚适用于 Debian 和 Ubuntu。

因此打开终端并从官方安装 Qt 所需的开发包存储库

sudo apt-get install qtlocation5-dev qtpositioning5-dev

然后编译你可能很棒的应用程序。

相关内容