未找到 Qt 6 资源

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

我正在使用 Qt6 和 Cmake,其中我添加了资源文件。 我面临找不到资源文件的问题。

以下是我添加了resource.qrc的Cmake文件 -

cmake_minimum_required(VERSION 3.16)

project(bounce_ball VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTORCC ON)

find_package(Qt6 6.2 REQUIRED COMPONENTS Quick)


qt_add_executable(appbounce_ball
    main.cpp
    resource.qrc
)

qt_add_qml_module(appbounce_ball
    URI bounce_ball
    VERSION 1.0
    QML_FILES Main.qml resource.qrc
    RESOURCES resource.qrc
)

set_target_properties(appbounce_ball PROPERTIES
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(appbounce_ball
    PRIVATE Qt6::Quick
)

include(GNUInstallDirs)
install(TARGETS appbounce_ball
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

这是图中的文件夹结构-

Proj Folder

Error -
qrc:/qt_resource/Main.qml:9:5: QML Image: Cannot open: 
qrc:/qt_resource/images/soccerball.png

Expecting to read the resource image file.
qt cmake qml qt6
1个回答
1
投票

添加

qt_add_resources(IMAGE_RESOURCES images.qrc)

到您的 CMAKE 文件。要使用它,您还需要 QT 的核心组件:

find_package(Qt6 REQUIRED COMPONENTS Core)

然后将以下目标更改为:

qt_add_executable(appbounce_ball
    main.cpp
    ${IMAGE_RESOURCES}
)

现在您应该能够通过以下方式处理您的图像:

source: "qrc:/images/soccerball.png"

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