我在linux上有一个Qt应用程序(Qt5)运行(并且看起来)非常好。我使用Qt Creator开发了这个,所以默认情况下它是在qmake的帮助下构建的。
但是当我使用cmake构建这个项目时,所有小部件的颜色都会受到干扰(如下所示)。我在CMakeLists文件中遗漏了什么吗?
这是我的cmake文件:
cmake_minimum_required(VERSION 3.0.2)
set (PROJECT_NAME QtTrialBuild)
project (${PROJECT_NAME})
find_package(Qt5Widgets REQUIRED)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories(${Qt5Widgets_INCLUDES})
add_definitions(${Qt5Widgets_DEFINITIONS})
set(CMAKE_CXX_FLAGS "${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
set ( SOURCES
main.cpp
imageviewer.cpp
CRubberBand.cpp
CImageSelector.cpp
CSelectablePicture.cpp
CScale.cpp
)
set ( MOC_HEADERS
imageviewer.h
CRubberBand.h
CImageSelector.h
CSelectablePicture.h
CScale.h
)
set ( UIS
imageviewer.ui
)
qt5_wrap_ui( UI_HEADERS ${UIS} )
qt5_wrap_cpp( MOC_SRCS ${MOC_HEADERS} )
add_executable(${PROJECT_NAME} ${SOURCES} ${MOC_SRCS} ${UI_HEADERS})
target_link_libraries( ${PROJECT_NAME} Qt5::Widgets)
当使用Qt Creator构建时,这就是窗口的外观(这也是它想要的样子)
但是用Cmake
这是用cmake
构建时的外观
按钮,边框和弹出窗口的颜色已更改。我是否错过了任何参数,或者我忘了在cmakelists中添加一些内容?
答案 0 :(得分:1)
QT5_ADD_RESOURCES
似乎不见了:
set(YourProject_RC
YourProject.qrc
YourProject2.qrc
)
QT5_ADD_RESOURCES(YourProject_RC_SRCS ${YourProject_RC})
add_executable(YourProject.UI
...
${YourProject_RC_SRCS}
...
)