Cmake 生成的可执行文件中未显示 Qt5 图标
Qt5 icons not showing in Cmake generated executable
我有一个 Qt5 项目,我正在用 Cmake 编译它。
我添加了带有图标的 .qr 文件。
在 QtCreator 中,我在设计模式下看到图标,但编译它时,它不显示它们。我在 Cmake 中尝试了不同的更改,但我找不到问题所在。这是我的 CMakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
PROJECT (UtilityDICOM)
FIND_PACKAGE(Qt5Widgets REQUIRED)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON) # necessary?
SET(UI_FORMS
View/UI/mainwindow.ui
)
SET(UI_RESOURCES
View/Resources/iconos.qrc
)
SET(UI_QT_CXX
mainwindow.cpp
)
SET(UI_MOC_HEADERS
mainwindow.h
)
QT5_WRAP_CPP(UI_WRAPPED_MOC_HEADERS ${UI_MOC_HEADERS})
QT5_WRAP_UI(UI_FORM_HEADERS ${UI_FORMS})
QT5_ADD_RESOURCES(UI_RESOURCES_RCC ${UI_RESOURCES})
ADD_LIBRARY(ui_qt ${UI_QT_CXX}
${UI_WRAPPED_MOC_HEADERS}
${UI_FORM_HEADERS} ${UI_RESOURCES_RCC}
)
ADD_EXECUTABLE(UtilityDICOM WIN32 main.cpp)
TARGET_LINK_LIBRARIES(UtilityDICOM
ui_qt
)
QT5_USE_MODULES(UtilityDICOM Core Gui Widgets)
我也尝试在 ADD_EXECUTABLE 中添加 ${UI_RESOURCES_RCC},结果相同。
有什么想法吗?谢谢。
qt
使用插件来处理图像加载。
您的应用程序目录应该如下所示
<root>
-myapplication
-<imageformats>
-libq* // the actual image plugin you need (if jpg then 'libqjpeg')
您可以在 <qt root dir>/plugins/imageformats
下找到 imageformats
干杯
终于明白了
在CMakeLists.txt中:
尽管我看到了在 TARGET_LINK_LIBRARIES、
中添加资源的示例
我在 ADD_EXECUTABLE 中添加了资源变量:
ADD_EXECUTABLE(UtilityDICOM WIN32 main.cpp ${UI_RESOURCES_RCC})
删除目标文件夹后重新生成,成功
谢谢大家。也许这对其他人有帮助。
我有一个 Qt5 项目,我正在用 Cmake 编译它。
我添加了带有图标的 .qr 文件。
在 QtCreator 中,我在设计模式下看到图标,但编译它时,它不显示它们。我在 Cmake 中尝试了不同的更改,但我找不到问题所在。这是我的 CMakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
PROJECT (UtilityDICOM)
FIND_PACKAGE(Qt5Widgets REQUIRED)
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON) # necessary?
SET(UI_FORMS
View/UI/mainwindow.ui
)
SET(UI_RESOURCES
View/Resources/iconos.qrc
)
SET(UI_QT_CXX
mainwindow.cpp
)
SET(UI_MOC_HEADERS
mainwindow.h
)
QT5_WRAP_CPP(UI_WRAPPED_MOC_HEADERS ${UI_MOC_HEADERS})
QT5_WRAP_UI(UI_FORM_HEADERS ${UI_FORMS})
QT5_ADD_RESOURCES(UI_RESOURCES_RCC ${UI_RESOURCES})
ADD_LIBRARY(ui_qt ${UI_QT_CXX}
${UI_WRAPPED_MOC_HEADERS}
${UI_FORM_HEADERS} ${UI_RESOURCES_RCC}
)
ADD_EXECUTABLE(UtilityDICOM WIN32 main.cpp)
TARGET_LINK_LIBRARIES(UtilityDICOM
ui_qt
)
QT5_USE_MODULES(UtilityDICOM Core Gui Widgets)
我也尝试在 ADD_EXECUTABLE 中添加 ${UI_RESOURCES_RCC},结果相同。
有什么想法吗?谢谢。
qt
使用插件来处理图像加载。
您的应用程序目录应该如下所示
<root>
-myapplication
-<imageformats>
-libq* // the actual image plugin you need (if jpg then 'libqjpeg')
您可以在 <qt root dir>/plugins/imageformats
imageformats
干杯
终于明白了
在CMakeLists.txt中:
尽管我看到了在 TARGET_LINK_LIBRARIES、
中添加资源的示例我在 ADD_EXECUTABLE 中添加了资源变量:
ADD_EXECUTABLE(UtilityDICOM WIN32 main.cpp ${UI_RESOURCES_RCC})
删除目标文件夹后重新生成,成功
谢谢大家。也许这对其他人有帮助。