我正在使用 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}
)
这是图中的文件夹结构-
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_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"